Skip to content

Conversation

@cvvergara
Copy link
Member

@cvvergara cvvergara commented Oct 28, 2025

Changes proposed in this pull request:

  • Pumpup to v4.0.0-rc1
  • Updates information about experimental functions

@pgRouting/admins

Summary by CodeRabbit

  • Chores

    • Bumped project version from 4.0.0-beta1 to 4.0.0-rc1 and updated related version outputs
    • Updated translation metadata timestamps and refreshed extracted strings; many Spanish translations corrected and improved
  • Documentation

    • Clarified experimental feature labels by appending version qualifiers (e.g., "on v3.0", "on v3.8") and adjusted label formatting across multiple docs and indices

sanak and others added 8 commits October 22, 2025 23:40
Currently translated at 85.3% (4590 of 5379 strings)

Translated using Weblate (Spanish)

Currently translated at 85.3% (4590 of 5379 strings)

Co-authored-by: Celia Virginia Vergara Castillo <vicky@erosion.dev>
Translate-URL: https://weblate.osgeo.org/projects/pgrouting/pgrouting-develop/es/
Translation: pgRouting/pgRouting
Currently translated at 100.0% (5379 of 5379 strings)

Co-authored-by: Daniel Nylander <daniel@danielnylander.se>
Translate-URL: https://weblate.osgeo.org/projects/pgrouting/pgrouting-develop/sv/
Translation: pgRouting/pgRouting
Currently translated at 100.0% (5379 of 5379 strings)

Translation: pgRouting/pgRouting
Translate-URL: https://weblate.osgeo.org/projects/pgrouting/pgrouting-develop/sv/
…-pgrouting-develop

Translations update from OSGeo Weblate
@cvvergara cvvergara added this to the Release 4.0.0 milestone Oct 28, 2025
@cvvergara cvvergara requested a review from robe2 October 28, 2025 21:01
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 28, 2025

Walkthrough

Updates project development version suffix from "-beta1" to "-rc1" and adjusts multiple documentation index entries to include explicit version qualifiers (e.g., "on v3.0" / "on v3.8"). Test fixtures and localization metadata/strings updated to match the new version text.

Changes

Cohort / File(s) Summary
Version Configuration
CMakeLists.txt
Set PROJECT_VERSION_DEV from "-beta1" to "-rc1"
Documentation: Bellman-Ford
doc/bellman_ford/pgr_bellmanFord.rst, doc/bellman_ford/pgr_edwardMoore.rst
Adjusted index entries to include version qualifiers and changed code-literal label formatting for pgr_bellmanFord
Documentation: Contraction
doc/contraction/pgr_contractionHierarchies.rst
Appended "on v3.8" to Experimental index entry
Documentation: DAG Shortest Path
doc/dagShortestPath/pgr_dagShortestPath.rst
Appended "on v3.0" to multiple Experimental index entries and reordered index lines
Documentation: Max Flow
doc/max_flow/pgr_maxFlowMinCost.rst, doc/max_flow/pgr_maxFlowMinCost_Cost.rst
Repositioned and appended "on v3.0" qualifiers across primary and signature entries
Documentation: Traversal
doc/traversal/pgr_binaryBreadthFirstSearch.rst, doc/traversal/pgr_breadthFirstSearch.rst
Added "on v3.0" version qualifier to Experimental index entries
Documentation: TRSP
doc/trsp/pgr_turnRestrictedPath.rst
Updated index entries to include - Experimental and added a on v3.0 qualifier on the last item
Test Result Fixtures
docqueries/version/full_version.result, docqueries/version/version.result
Updated expected output from 4.0.0-beta1 to 4.0.0-rc1 and adjusted header spacing in full_version.result
Localization: EN & POT
locale/en/LC_MESSAGES/pgrouting_doc_strings.po, locale/pot/pgrouting_doc_strings.pot
Updated POT-Creation-Date and adjusted pgr_bellmanFord label formatting in translation sources
Localization: ES
locale/es/LC_MESSAGES/pgrouting_doc_strings.po
Numerous Spanish translation updates, corrected phrasing, punctuation, and removed/updated fuzzy markers
CI Workflow (macOS)
.github/workflows/macos.yml
Bumped macOS workflow to install and use PostgreSQL 17, adjusted linking and CMake shared suffix settings

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Review focus:
    • CMakeLists.txt version string and any downstream CMake uses.
    • docqueries/version/* expected output changes.
    • Localization .po/.pot message id changes for unintended key drift.
    • macOS workflow PostgreSQL 17 changes (ensure CI steps still valid).

Possibly related PRs

Suggested labels

Documentation, Translation

Suggested reviewers

  • robe2

Poem

🐰 From beta fields I nimbly hop,
A tiny suffix changed to “rc1” on top,
Docs don their versions, tidy and bright,
Tests hum the same string through day and night,
A rabbit cheers — release in sight! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "Pumpup to v4.0.0-rc1" directly corresponds to the primary change in the changeset, which involves bumping the project version from 4.0.0-beta1 to 4.0.0-rc1. This is evidenced by updates to CMakeLists.txt (PROJECT_VERSION_DEV changed from "-beta1" to "-rc1"), docqueries/version files, and other version-related references throughout the repository. The title is clear, specific, and concise, effectively communicating the main objective to reviewers. While the changeset includes secondary updates such as documentation refinements for experimental functions and macOS workflow updates, these are supporting changes, and the title appropriately focuses on the primary version bump.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
doc/max_flow/pgr_maxFlowMinCost.rst (1)

119-119: Fix inconsistent version annotation in index entry.

Line 119 is missing the on v3.0 qualifier in the primary descriptor, making it inconsistent with other sections (lines 79, 99, 139, 159). All primary index entries should follow the same pattern.

Apply this diff to fix the inconsistency:

- single: maxFlowMinCost - Experimental ; Many to One - Experimental on v3.0
+ single: maxFlowMinCost - Experimental on v3.0 ; Many to One - Experimental on v3.0
doc/dagShortestPath/pgr_dagShortestPath.rst (1)

125-125: Line 125 missing version qualifier—add "on v3.0" for consistency.

Line 125 is the only variant index entry missing the version qualifier on the first part. All other variants follow the pattern dagShortestPath - Experimental on v3.0 ; <Variant> - Experimental on <version>:

  • Line 105 (One to One): dagShortestPath - Experimental on v3.0 ; One to One - Experimental on v3.0
  • Line 145 (Many to One): dagShortestPath - Experimental on v3.0 ; Many to One - Experimental on v3.0
  • Line 165 (Many to Many): dagShortestPath - Experimental on v3.0 ; Many to Many - Experimental on v3.0
  • Line 186 (Combinations): dagShortestPath - Experimental on v3.0 ; Combinations - Experimental on v3.2

Update line 125 to match:

-    single: dagShortestPath - Experimental ; One to Many - Experimental on v3.0
+    single: dagShortestPath - Experimental on v3.0 ; One to Many - Experimental on v3.0
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 32e669f and fd97ef8.

📒 Files selected for processing (14)
  • CMakeLists.txt (1 hunks)
  • doc/bellman_ford/pgr_bellmanFord.rst (1 hunks)
  • doc/bellman_ford/pgr_edwardMoore.rst (1 hunks)
  • doc/contraction/pgr_contractionHierarchies.rst (1 hunks)
  • doc/dagShortestPath/pgr_dagShortestPath.rst (5 hunks)
  • doc/max_flow/pgr_maxFlowMinCost.rst (5 hunks)
  • doc/max_flow/pgr_maxFlowMinCost_Cost.rst (6 hunks)
  • doc/traversal/pgr_binaryBreadthFirstSearch.rst (1 hunks)
  • doc/traversal/pgr_breadthFirstSearch.rst (3 hunks)
  • doc/trsp/pgr_turnRestrictedPath.rst (1 hunks)
  • docqueries/version/full_version.result (1 hunks)
  • docqueries/version/version.result (1 hunks)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po (2 hunks)
  • locale/pot/pgrouting_doc_strings.pot (2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-09-14T16:43:16.715Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/boost_version.yml:134-135
Timestamp: 2025-09-14T16:43:16.715Z
Learning: In pgrouting, the installed PostgreSQL extension version is normalized to major.minor.patch format (e.g., "4.0.0") regardless of any pre-release suffixes like -alpha1, -beta, or -rc that are used in the source/build versioning. Database setup scripts should use the normalized version format.

Applied to files:

  • docqueries/version/full_version.result
  • CMakeLists.txt
  • docqueries/version/version.result
📚 Learning: 2025-02-27T23:03:08.160Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:4407-4419
Timestamp: 2025-02-27T23:03:08.160Z
Learning: In the pgRouting project, locale files (.po files) should not be manually edited as they are managed through automated localization tools.

Applied to files:

  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/pot/pgrouting_doc_strings.pot
📚 Learning: 2025-09-14T17:22:22.313Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/update.yml:132-133
Timestamp: 2025-09-14T17:22:22.313Z
Learning: In pgRouting, when testing extension updates in workflows, the target version should be the normalized major.minor.patch format (e.g., "4.0.0") even for pre-release versions like 4.0.0-alpha1, because the extension is installed with the normalized version number regardless of source version suffixes.

Applied to files:

  • docqueries/version/version.result
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (21)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Build (56, 3.3.4)
  • GitHub Check: Build (56, 3.7.3)
  • GitHub Check: documentation (zh_Hans)
  • GitHub Check: documentation (sv)
  • GitHub Check: Build
  • GitHub Check: Ubuntu clang (Release, ubuntu-latest)
  • GitHub Check: Ubuntu clang (Release, ubuntu-22.04)
  • GitHub Check: Ubuntu clang (Debug, ubuntu-22.04)
  • GitHub Check: Ubuntu Boost (86)
  • GitHub Check: Ubuntu Boost (79)
  • GitHub Check: Ubuntu Boost (75)
  • GitHub Check: Ubuntu Boost (80)
  • GitHub Check: Ubuntu clang (Debug, ubuntu-latest)
  • GitHub Check: Ubuntu Boost (56)
  • GitHub Check: Ubuntu Boost (78)
  • GitHub Check: Ubuntu Boost (83)
  • GitHub Check: Ubuntu Boost (84)
  • GitHub Check: Ubuntu Boost (77)
  • GitHub Check: Ubuntu Boost (76)
  • GitHub Check: Ubuntu Boost (68)
🔇 Additional comments (14)
doc/max_flow/pgr_maxFlowMinCost.rst (1)

12-12: Version annotations for experimental functions look good.

The changes properly add on v3.0 (and on v3.2 for Combinations) qualifiers to index entries across all function signatures, aligning with the PR objective to update experimental function documentation with version information.

Also applies to: 79-79, 99-99, 139-139, 159-159

doc/max_flow/pgr_maxFlowMinCost_Cost.rst (1)

13-13: Documentation index updates are consistent with version history.

The systematic addition of "on v3.0" and "on v3.2" qualifiers to the index entries correctly aligns with the Availability section (lines 23-33):

  • Base signatures (One to One, One to Many, Many to One, Many to Many) are marked "on v3.0" since the function was introduced in v3.0.0
  • Combinations signature is marked "on v3.2" since it was added in v3.2.0

These documentation-only changes clarify when each experimental feature variant was introduced, supporting the PR objective to update experimental function information.

Also applies to: 83-83, 102-102, 121-121, 140-140, 160-160

doc/traversal/pgr_binaryBreadthFirstSearch.rst (1)

13-13: Verify consistency of version annotations across all index entries.

Line 13 was updated to include "on v3.0" in the index entry. However, lines 11–12 are also index entries for this experimental function but lack the version suffix. Additionally, other index entries in the file (lines 101, 121, 142, 163) similarly include version suffixes.

Verify whether the versioning annotation strategy is intentionally scoped to specific index entry types (e.g., only direct function-name indices) or whether all experimental function index entries should be consistently annotated.

doc/bellman_ford/pgr_edwardMoore.rst (1)

12-12: Experimental function versioning documentation updated correctly.

The index entries now include version context (e.g., "on v3.0", "on v3.2") clarifying when each signature was introduced as experimental. The versioning is consistent with the actual introduction timeline shown in the Version sections below.

Also applies to: 106-106, 126-126, 147-147, 168-168, 189-189

doc/trsp/pgr_turnRestrictedPath.rst (1)

11-11: Experimental function versioning updated appropriately.

The remaining index entries (lines 11, 13, 14) now include version context for experimental features, with consistent spacing and formatting.

Also applies to: 13-13, 14-14

doc/contraction/pgr_contractionHierarchies.rst (1)

14-14: Experimental function versioning correctly reflects v3.8 introduction.

The index entry is updated to specify "on v3.8", consistent with the Version 3.8.0 section and introduction date documented below.

CMakeLists.txt (1)

35-35: Version development suffix updated from beta1 to rc1.

The PROJECT_VERSION_DEV variable is correctly changed from -beta1 to -rc1, which propagates through the build system via add_definitions() at line 41 to set the final PROJECT_VERSION to 4.0.0-rc1.

doc/traversal/pgr_breadthFirstSearch.rst (1)

13-13: Experimental function versioning consistently applied across sections.

Index entries updated to append "on v3.0" to experimental labels, consistent with the Version 3.0.0 introduction documented in the file and matching the pattern across other experimental functions.

Also applies to: 67-67, 88-88

doc/bellman_ford/pgr_bellmanFord.rst (1)

12-12: Experimental function versioning comprehensively updated.

Index entries now consistently include version context, distinguishing between v3.0 introduction (base signatures) and v3.2 introduction (Combinations signature). Aligns with documented version history in the file.

Also applies to: 98-98, 118-118, 139-139, 160-160, 181-181

docqueries/version/full_version.result (1)

7-9: Version fixture updated to reflect rc1 release candidate.

Query result fixture correctly updated to reflect the version bump from 4.0.0-beta1 to 4.0.0-rc1 in the version column, while maintaining the normalized library identifier pgrouting-4.0.0 without the pre-release suffix (consistent with PostgreSQL extension installation versioning).

Verify that all version-related test fixtures and outputs have been updated to reflect the rc1 version. The AI summary mentions docqueries/version/version.result as another fixture file that may need updating.

locale/en/LC_MESSAGES/pgrouting_doc_strings.po (1)

11-11: No action needed; .po files are properly regenerated by automated tooling.

The review comment incorrectly flags this as a manual edit issue. Evidence shows these files are automatically regenerated via Babel as part of the CI pipeline ("Update locale" commits visible in git history). The POT-Creation-Date timestamp is correct for regenerated catalogs, and all .po files consistently carry the "Generated-By: Babel 2.10.3" header across all locales. This is the expected behavior for managed translation files.

Likely an incorrect or invalid review comment.

docqueries/version/version.result (1)

9-9: ✓ Version string updated correctly.

The test fixture correctly reflects the version bump from 4.0.0-beta1 to 4.0.0-rc1. The output from pgr_version() includes the pre-release suffix, as expected per pgRouting's versioning conventions.

locale/pot/pgrouting_doc_strings.pot (2)

11-11: POT regeneration is tool-generated (confirmed), but translations are only partially updated.

The English .po file was properly synced with the new POT (both dated 2025-10-28 20:20+0000), confirming tool-generated updates. However, the other language .po files (de, es, ja, ko, sv, zh_Hans) remain at the older 2025-10-08 timestamp and were not refreshed.

Confirm whether this partial update is intentional (e.g., translations staged separately) or if all .po files should have been regenerated together via msgmerge/sphinx-intl.


8164-8164: Update locale PO files to match template format and mark entries as fuzzy to preserve translations.

The POT template and English locale have been updated correctly, but six locale files still contain the old msgid format with backticks wrapping the entire string. Update these entries to match the template:

  • locale/ko/LC_MESSAGES/pgrouting_doc_strings.po:9677
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po:11030
  • locale/ja/LC_MESSAGES/pgrouting_doc_strings.po:9727
  • locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po:10682
  • locale/de/LC_MESSAGES/pgrouting_doc_strings.po:9476
  • locale/sv/LC_MESSAGES/pgrouting_doc_strings.po:11028

Change format from msgid "``pgr_bellmanFord - Experimental``" to msgid "``pgr_bellmanFord`` - Experimental" and mark each as fuzzy to prevent translation loss during regeneration.

⛔ Skipped due to learnings
Learnt from: cvvergara
PR: pgRouting/pgrouting#2764
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:2740-2740
Timestamp: 2025-02-27T16:31:49.972Z
Learning: Modifications to locale files in pgRouting (like .po files) are done through action commits or in weblate, not through direct manual edits in PRs.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2764
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:0-0
Timestamp: 2025-02-27T16:32:00.573Z
Learning: Modifications to locale files in the pgRouting project should be handled through an action commit or through the Weblate translation platform, not via direct edits.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po:4083-4087
Timestamp: 2025-04-22T22:36:50.711Z
Learning: For the `locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po` file, Chinese translations should be managed and updated via Weblate, not by direct manual edits or suggestions in the repository.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:4407-4419
Timestamp: 2025-02-27T23:03:08.160Z
Learning: In the pgRouting project, locale files (.po files) should not be manually edited as they are managed through automated localization tools.

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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
doc/max_flow/pgr_maxFlowMinCost.rst (1)

119-119: Incomplete version qualifier on index entry.

Line 119 is missing the version qualifier in the first segment of the index entry. It currently reads single: maxFlowMinCost - Experimental ; Many to One but should match the pattern used in other variants, with on v3.0 appended to the experimental function reference:

- single: maxFlowMinCost - Experimental ; Many to One - Experimental on v3.0
+ single: maxFlowMinCost - Experimental on v3.0 ; Many to One - Experimental on v3.0
doc/dagShortestPath/pgr_dagShortestPath.rst (1)

125-125: Incomplete version qualifier on index entry.

Line 125 is missing the version qualifier in the first segment of the index entry. It currently reads single: dagShortestPath - Experimental ; One to Many but should match the pattern used in other variants with on v3.0 appended to the experimental function reference:

- single: dagShortestPath - Experimental ; One to Many - Experimental on v3.0
+ single: dagShortestPath - Experimental on v3.0 ; One to Many - Experimental on v3.0
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bd08135 and 46a3543.

📒 Files selected for processing (16)
  • .github/workflows/macos.yml (2 hunks)
  • CMakeLists.txt (1 hunks)
  • doc/bellman_ford/pgr_bellmanFord.rst (1 hunks)
  • doc/bellman_ford/pgr_edwardMoore.rst (1 hunks)
  • doc/contraction/pgr_contractionHierarchies.rst (1 hunks)
  • doc/dagShortestPath/pgr_dagShortestPath.rst (5 hunks)
  • doc/max_flow/pgr_maxFlowMinCost.rst (5 hunks)
  • doc/max_flow/pgr_maxFlowMinCost_Cost.rst (6 hunks)
  • doc/traversal/pgr_binaryBreadthFirstSearch.rst (1 hunks)
  • doc/traversal/pgr_breadthFirstSearch.rst (3 hunks)
  • doc/trsp/pgr_turnRestrictedPath.rst (1 hunks)
  • docqueries/version/full_version.result (1 hunks)
  • docqueries/version/version.result (1 hunks)
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po (2 hunks)
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po (8 hunks)
  • locale/pot/pgrouting_doc_strings.pot (2 hunks)
🧰 Additional context used
🧠 Learnings (49)
📓 Common learnings
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/update.yml:132-133
Timestamp: 2025-09-14T17:22:22.313Z
Learning: In pgRouting, when testing extension updates in workflows, the target version should be the normalized major.minor.patch format (e.g., "4.0.0") even for pre-release versions like 4.0.0-alpha1, because the extension is installed with the normalized version number regardless of source version suffixes.
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/boost_version.yml:134-135
Timestamp: 2025-09-14T16:43:16.715Z
Learning: In pgrouting, the installed PostgreSQL extension version is normalized to major.minor.patch format (e.g., "4.0.0") regardless of any pre-release suffixes like -alpha1, -beta, or -rc that are used in the source/build versioning. Database setup scripts should use the normalized version format.
📚 Learning: 2025-02-27T23:08:14.497Z
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.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • docqueries/version/full_version.result
  • doc/bellman_ford/pgr_edwardMoore.rst
  • doc/bellman_ford/pgr_bellmanFord.rst
  • doc/dagShortestPath/pgr_dagShortestPath.rst
📚 Learning: 2025-04-25T15:12:03.608Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2874
File: doc/utilities/pgr_separateCrossing.rst:26-27
Timestamp: 2025-04-25T15:12:03.608Z
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.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • doc/traversal/pgr_breadthFirstSearch.rst
  • doc/dagShortestPath/pgr_dagShortestPath.rst
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-27T01:49:25.212Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#0
File: :0-0
Timestamp: 2025-01-27T01:49:25.212Z
Learning: In pgRouting, when deprecating internal functions:
1. Add deprecation notice in C code using ereport with ERRCODE_FEATURE_NOT_SUPPORTED
2. Update tests with version checks (min_version, min_lib_version)
3. Document changes in NEWS.md under appropriate sections

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • docqueries/version/full_version.result
📚 Learning: 2025-02-27T23:09:12.162Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: doc/topology/pgr_extractVertices.rst:28-35
Timestamp: 2025-02-27T23:09:12.162Z
Learning: In pgRouting documentation, historical version entries should be maintained in reverse chronological order (newest first) to provide context about the evolution of functions over time.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • docqueries/version/version.result
  • docqueries/version/full_version.result
  • doc/dagShortestPath/pgr_dagShortestPath.rst
📚 Learning: 2025-02-06T20:50:07.967Z
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.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • doc/traversal/pgr_breadthFirstSearch.rst
📚 Learning: 2025-01-19T16:18:00.783Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/trsp/trsp_withPoints_driver.cpp:120-121
Timestamp: 2025-01-19T16:18:00.783Z
Learning: In pgRouting, modifying error messages requires updating pgtap test expectations, so such changes should be carefully considered due to the test maintenance burden.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T13:16:52.140Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2723
File: tools/developer/run.sh:130-144
Timestamp: 2025-01-19T13:16:52.140Z
Learning: In the pgRouting project, function documentation should be kept minimal and concise, focusing on essential information only.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
📚 Learning: 2025-09-17T02:09:53.993Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: doc/contraction/pgr_contraction.rst:0-0
Timestamp: 2025-09-17T02:09:53.993Z
Learning: In pgRouting documentation, pseudocode blocks can use generic variable names that don't necessarily match the exact parameter names in the API, as decided by maintainer cvvergara for doc/contraction/pgr_contraction.rst.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • doc/contraction/pgr_contractionHierarchies.rst
📚 Learning: 2025-01-19T16:17:31.895Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/contraction/contractGraph_driver.cpp:187-187
Timestamp: 2025-01-19T16:17:31.895Z
Learning: Changes to error messages in pgRouting must carefully consider impacts on pgtap tests, as these tests verify exact message content.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T16:18:55.529Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/dijkstra/dijkstra_driver.cpp:147-148
Timestamp: 2025-01-19T16:18:55.529Z
Learning: In pgRouting, error messages should not be modified without careful consideration as they are verified by pgtap tests. Changes to error messages require corresponding updates to test cases.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T23:00:33.818Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: doc/categories/withPoints-category.rst:345-345
Timestamp: 2025-04-22T23:00:33.818Z
Learning: In pgRouting documentation, extra blank lines before bullet lists may be intentional and should be preserved if Sphinx processes them correctly.

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
📚 Learning: 2025-05-19T20:46:23.267Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2887
File: doc/utilities/pgr_separateCrossing.rst:176-179
Timestamp: 2025-05-19T20:46:23.267Z
Learning: In RST documentation for pgRouting, "See Also" sections with only a single entry don't require bullet points (*).

Applied to files:

  • doc/trsp/pgr_turnRestrictedPath.rst
📚 Learning: 2025-09-14T16:43:16.715Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/boost_version.yml:134-135
Timestamp: 2025-09-14T16:43:16.715Z
Learning: In pgrouting, the installed PostgreSQL extension version is normalized to major.minor.patch format (e.g., "4.0.0") regardless of any pre-release suffixes like -alpha1, -beta, or -rc that are used in the source/build versioning. Database setup scripts should use the normalized version format.

Applied to files:

  • docqueries/version/version.result
  • docqueries/version/full_version.result
  • CMakeLists.txt
📚 Learning: 2025-09-14T17:22:22.313Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/update.yml:132-133
Timestamp: 2025-09-14T17:22:22.313Z
Learning: In pgRouting, when testing extension updates in workflows, the target version should be the normalized major.minor.patch format (e.g., "4.0.0") even for pre-release versions like 4.0.0-alpha1, because the extension is installed with the normalized version number regardless of source version suffixes.

Applied to files:

  • docqueries/version/version.result
  • docqueries/version/full_version.result
  • CMakeLists.txt
📚 Learning: 2025-01-27T01:49:25.212Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#0
File: :0-0
Timestamp: 2025-01-27T01:49:25.212Z
Learning: pgRouting version checks in tests:
- Use min_version() for SQL API changes
- Use min_lib_version() for C/C++ library changes
- Adjust test plans based on version conditions

Applied to files:

  • docqueries/version/version.result
  • docqueries/version/full_version.result
  • CMakeLists.txt
📚 Learning: 2025-05-22T03:27:15.287Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2896
File: pgtap/ksp/withPointsKSP/types_check.pg:29-0
Timestamp: 2025-05-22T03:27:15.287Z
Learning: In pgRouting's pgtap tests, messages like "pgr_withPointsKSP testing only valid signatures on 4.0.0" are standard skip messages used when testing is skipped for versions below a certain threshold (typically 3.6.0), even though the wording might suggest the opposite condition.

Applied to files:

  • docqueries/version/version.result
  • docqueries/version/full_version.result
📚 Learning: 2025-05-22T03:27:15.287Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2896
File: pgtap/ksp/withPointsKSP/types_check.pg:29-0
Timestamp: 2025-05-22T03:27:15.287Z
Learning: In pgRouting's pgtap tests, messages like "pgr_withPointsKSP testing only valid signatures on 4.0.0" are standard skip messages used when testing only specific version signatures, even when the condition checks for versions below a certain threshold.

Applied to files:

  • docqueries/version/version.result
  • docqueries/version/full_version.result
📚 Learning: 2025-02-27T23:04:38.878Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: sql/common/_checkcolumn.sql:39-53
Timestamp: 2025-02-27T23:04:38.878Z
Learning: The pgRouting codebase uses PostgreSQL's HINT feature in exception handling to provide context about SQL queries, combined with ERRCODE = SQLSTATE to preserve original error codes.

Applied to files:

  • docqueries/version/version.result
📚 Learning: 2025-09-14T16:56:27.138Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/clang.yml:82-85
Timestamp: 2025-09-14T16:56:27.138Z
Learning: In pgRouting workflows, the PGDG testing suite (pgdg-testing) is used in testing workflows like clang.yml and ubuntu.yml to access more PostgreSQL versions including betas and development versions, while other workflows use the stable pgdg suite.

Applied to files:

  • docqueries/version/full_version.result
  • .github/workflows/macos.yml
  • CMakeLists.txt
📚 Learning: 2025-04-25T01:06:14.238Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2868
File: docqueries/contraction/contractionHierarchies.result:30-56
Timestamp: 2025-04-25T01:06:14.238Z
Learning: In the pgRouting project, files in the "docqueries" directory are not for testing purposes but for documentation example use. They show the output of functions exactly as users would see it, serving as illustrations in the documentation.

Applied to files:

  • docqueries/version/full_version.result
📚 Learning: 2025-02-27T23:03:08.160Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2771
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:4407-4419
Timestamp: 2025-02-27T23:03:08.160Z
Learning: In the pgRouting project, locale files (.po files) should not be manually edited as they are managed through automated localization tools.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • CMakeLists.txt
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-02-27T16:31:49.972Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2764
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:2740-2740
Timestamp: 2025-02-27T16:31:49.972Z
Learning: Modifications to locale files in pgRouting (like .po files) are done through action commits or in weblate, not through direct manual edits in PRs.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-02-27T16:32:00.573Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2764
File: locale/en/LC_MESSAGES/pgrouting_doc_strings.po:0-0
Timestamp: 2025-02-27T16:32:00.573Z
Learning: Modifications to locale files in the pgRouting project should be handled through an action commit or through the Weblate translation platform, not via direct edits.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T22:59:10.377Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/es/LC_MESSAGES/pgrouting_doc_strings.po:15446-15454
Timestamp: 2025-04-22T22:59:10.377Z
Learning: En pgRouting, las traducciones al español de las cadenas de documentación (por ejemplo, en `pgrouting_doc_strings.po`) se gestionan a través de Weblate y no se deben sugerir ni modificar directamente en los pull requests.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T22:36:50.711Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po:4083-4087
Timestamp: 2025-04-22T22:36:50.711Z
Learning: For the `locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po` file, Chinese translations should be managed and updated via Weblate, not by direct manual edits or suggestions in the repository.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T16:17:42.135Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/trsp/trspVia_driver.cpp:151-151
Timestamp: 2025-01-19T16:17:42.135Z
Learning: Modifying error messages in pgRouting requires updating the corresponding pgtap tests to match the new messages, as they verify exact string outputs.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-09-15T00:39:05.272Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: NEWS.md:16-24
Timestamp: 2025-09-15T00:39:05.272Z
Learning: In pgRouting, editorial improvements to NEWS.md content should be implemented via the notes2news.pl script or its source files, since NEWS.md is auto-generated and manual edits would be overwritten.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • doc/bellman_ford/pgr_edwardMoore.rst
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-24T23:36:04.580Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2868
File: include/drivers/contraction/contractionHierarchies_driver.h:1-73
Timestamp: 2025-04-24T23:36:04.580Z
Learning: The copyright year for pgRouting should be set to 2025 in new files, not 2024, as confirmed by the project maintainer.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T22:58:08.854Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/es/LC_MESSAGES/pgrouting_doc_strings.po:16304-16305
Timestamp: 2025-04-22T22:58:08.854Z
Learning: En el repositorio pgRouting, las traducciones al español se gestionan exclusivamente a través de Weblate, por lo que no se deben sugerir cambios manuales en los archivos .po para ese idioma en las revisiones de PR.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-09-14T23:32:11.977Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: doc/CMakeLists.txt:160-161
Timestamp: 2025-09-14T23:32:11.977Z
Learning: The pgRouting project uses Weblate for translation management. The CMake locale target only generates English locale files (`-l en`) because Weblate handles updating all other language translations automatically. This prevents conflicts between local builds and Weblate's translation workflow.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T22:58:42.373Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/es/LC_MESSAGES/pgrouting_doc_strings.po:4429-4443
Timestamp: 2025-04-22T22:58:42.373Z
Learning: En el proyecto pgRouting, las traducciones al español se gestionan exclusivamente a través de Weblate, por lo que no se deben sugerir cambios de traducción en los pull requests.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T22:36:51.343Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po:14862-14915
Timestamp: 2025-04-22T22:36:51.343Z
Learning: Chinese translations for pgRouting documentation are expected to be provided via Weblate, not through manual PR edits.

Applied to files:

  • locale/pot/pgrouting_doc_strings.pot
  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-24T23:29:00.859Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2868
File: tools/testers/contractionHierarchies_data.sql:32-71
Timestamp: 2025-04-24T23:29:00.859Z
Learning: The ASCII diagram in contractionHierarchies_data.sql, while large, is intentionally kept as-is to provide a visual representation of the test graph structure. The user prefers not to modify this type of visualization as part of feature implementation PRs.

Applied to files:

  • doc/contraction/pgr_contractionHierarchies.rst
📚 Learning: 2025-04-24T23:29:43.790Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2868
File: tools/testers/contractionHierarchies_data.sql:73-85
Timestamp: 2025-04-24T23:29:43.790Z
Learning: Test data for pgRouting algorithms like contraction hierarchies doesn't necessarily need to follow all production best practices such as setting explicit SRIDs on geometries, especially when the algorithm primarily works with graph topology rather than geographic properties.

Applied to files:

  • doc/contraction/pgr_contractionHierarchies.rst
📚 Learning: 2025-04-25T00:59:52.580Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2868
File: src/contraction/contractionHierarchies_driver.cpp:47-56
Timestamp: 2025-04-25T00:59:52.580Z
Learning: In pgRouting, driver functions like `pgr_contractionHierarchies` assume that callers within the project will pass valid non-null pointers, as these functions are only used internally with well-defined call patterns. Null checks on the pointers themselves (as opposed to their dereferenced values) are considered unnecessary since the caller is guaranteed to pass references to variables.

Applied to files:

  • doc/contraction/pgr_contractionHierarchies.rst
📚 Learning: 2025-09-14T16:56:27.138Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: .github/workflows/clang.yml:82-85
Timestamp: 2025-09-14T16:56:27.138Z
Learning: The user uses the PGDG testing suite in PostgreSQL workflows because it contains more PostgreSQL versions than the stable suite, which is necessary for comprehensive testing across multiple PostgreSQL releases.

Applied to files:

  • .github/workflows/macos.yml
📚 Learning: 2025-02-27T16:34:57.518Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2764
File: sql/sigs/pgrouting--3.8.sig:274-275
Timestamp: 2025-02-27T16:34:57.518Z
Learning: The file `sql/sigs/pgrouting--3.8.sig` is auto-generated by a command and should not be modified manually.

Applied to files:

  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T16:17:53.496Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/coloring/edgeColoring_driver.cpp:87-87
Timestamp: 2025-01-19T16:17:53.496Z
Learning: Changes to error message handling in pgRouting functions require corresponding updates to pgtap tests to maintain test coverage.

Applied to files:

  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T16:18:09.359Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/trsp/trsp_driver.cpp:231-232
Timestamp: 2025-01-19T16:18:09.359Z
Learning: In pgRouting, modifications to error message handling need careful consideration as they impact pgtap test cases which verify exact error message content.

Applied to files:

  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-04-22T22:59:30.740Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: locale/zh_Hans/LC_MESSAGES/pgrouting_doc_strings.po:1942-1943
Timestamp: 2025-04-22T22:59:30.740Z
Learning: Chinese translations for this project are managed via Weblate, so translation-related changes or corrections should be handled through that platform rather than direct repository edits.

Applied to files:

  • locale/en/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T13:17:02.243Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2723
File: tools/developer/run.sh:62-68
Timestamp: 2025-01-19T13:17:02.243Z
Learning: For pgRouting project, CMake configuration comments should be kept minimal and concise, avoiding extensive explanations of build options and configurations.

Applied to files:

  • CMakeLists.txt
📚 Learning: 2025-04-24T23:34:23.099Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2868
File: NEWS.md:46-47
Timestamp: 2025-04-24T23:34:23.099Z
Learning: For pgRouting, NEWS.md should be updated using the generator script (tools/release-scripts/notes2news.pl) rather than edited directly, which is the correct procedure that the project maintainers follow.

Applied to files:

  • CMakeLists.txt
📚 Learning: 2025-04-25T02:12:17.271Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2871
File: include/drivers/transitiveClosure/transitiveClosure_driver.h:45-49
Timestamp: 2025-04-25T02:12:17.271Z
Learning: The pgRouting project avoids using named parameters in C header files to prevent conflicts with Doxygen documentation.

Applied to files:

  • CMakeLists.txt
📚 Learning: 2025-09-14T17:29:04.360Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2970
File: CMakeLists.txt:96-104
Timestamp: 2025-09-14T17:29:04.360Z
Learning: In pgRouting, BOOST_THREAD_LIBRARIES is referenced in CMakeLists.txt but the project doesn't actually use Boost threading functionality in the source code, so the LINK_LIBRARIES(${BOOST_THREAD_LIBRARIES}) line should be removed as unused legacy code.

Applied to files:

  • CMakeLists.txt
📚 Learning: 2025-04-22T22:41:34.709Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2864
File: NEWS.md:47-50
Timestamp: 2025-04-22T22:41:34.709Z
Learning: In pgRouting, NEWS.md is a generated file created by the tools/release-scripts/notes2news.pl script and should not be modified manually.

Applied to files:

  • CMakeLists.txt
📚 Learning: 2025-02-27T16:33:56.959Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2764
File: sql/sigs/pgrouting--3.8.sig:125-136
Timestamp: 2025-02-27T16:33:56.959Z
Learning: The file sql/sigs/pgrouting--*.sig is automatically generated by a command and cannot be manually modified. Comments about naming conventions or other improvements should be directed at the source code that generates these signatures, not at the signature file itself.

Applied to files:

  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T16:19:16.974Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/trsp/trspVia_withPoints_driver.cpp:154-154
Timestamp: 2025-01-19T16:19:16.974Z
Learning: Error messages in pgRouting should be kept minimal and consistent to maintain compatibility with pgtap tests.

Applied to files:

  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
📚 Learning: 2025-01-19T16:17:38.435Z
Learnt from: cvvergara
PR: pgRouting/pgrouting#2725
File: src/pickDeliver/pickDeliver_driver.cpp:69-69
Timestamp: 2025-01-19T16:17:38.435Z
Learning: Error messages in pgRouting are part of pgtap test assertions and should not be modified without updating the corresponding tests.

Applied to files:

  • locale/es/LC_MESSAGES/pgrouting_doc_strings.po
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (21)
  • GitHub Check: macos (macos-14)
  • GitHub Check: macos (macos-latest)
  • GitHub Check: documentation (en)
  • GitHub Check: Build (56, 3.7.0)
  • GitHub Check: Build (56, 3.7.1)
  • GitHub Check: Ubuntu Boost (77)
  • GitHub Check: Ubuntu Boost (75)
  • GitHub Check: Ubuntu Boost (76)
  • GitHub Check: Ubuntu Boost (83)
  • GitHub Check: Ubuntu Boost (84)
  • GitHub Check: Ubuntu Boost (79)
  • GitHub Check: Ubuntu Boost (68)
  • GitHub Check: Ubuntu Boost (86)
  • GitHub Check: Ubuntu Boost (56)
  • GitHub Check: Ubuntu Boost (80)
  • GitHub Check: Ubuntu Boost (78)
  • GitHub Check: Ubuntu clang (Release, ubuntu-latest)
  • GitHub Check: Ubuntu clang (Release, ubuntu-22.04)
  • GitHub Check: Ubuntu clang (Debug, ubuntu-22.04)
  • GitHub Check: Ubuntu clang (Debug, ubuntu-latest)
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (17)
doc/contraction/pgr_contractionHierarchies.rst (1)

14-14: Version qualifier added correctly.

The index entry now includes the version when the function became experimental (on v3.8), which aligns with the Availability section stating this was introduced in Version 3.8.0.

doc/traversal/pgr_binaryBreadthFirstSearch.rst (1)

13-13: Version qualifiers applied consistently across all index entries.

All index entries for binaryBreadthFirstSearch variants now include appropriate version qualifiers (on v3.0 for base signatures, on v3.2 for Combinations), matching the Availability section history.

Also applies to: 101-101, 121-121, 142-142, 163-163, 184-184

doc/traversal/pgr_breadthFirstSearch.rst (1)

13-13: Version qualifiers applied consistently.

All index entries for breadthFirstSearch are correctly updated with on v3.0, reflecting when the experimental function was introduced.

Also applies to: 67-67, 88-88

doc/max_flow/pgr_maxFlowMinCost_Cost.rst (1)

13-13: Version qualifiers applied consistently across all index entries.

All index entries for maxFlowMinCost_Cost variants include appropriate version qualifiers (on v3.0 for base signatures, on v3.2 for Combinations), maintaining consistent formatting throughout.

Also applies to: 83-83, 102-102, 121-121, 140-140, 160-160

doc/bellman_ford/pgr_edwardMoore.rst (1)

12-12: LGTM! Documentation enhancement adds version context.

The addition of "on v3.0" to the index entry appropriately documents when this experimental function was introduced, improving searchability and historical context.

doc/trsp/pgr_turnRestrictedPath.rst (1)

11-14: LGTM! Index entries properly standardized.

The addition of "- Experimental" labels to all index entries and the "on v3.0" version qualifier on line 14 appropriately documents the experimental status and introduction version of this function.

docqueries/version/version.result (1)

9-9: LGTM! Test fixture updated for version bump.

The expected output correctly reflects the version bump from 4.0.0-beta1 to 4.0.0-rc1, consistent with the PR objectives.

doc/bellman_ford/pgr_bellmanFord.rst (1)

12-12: LGTM! Documentation updates enhance consistency.

Line 12 adds the "on v3.0" version qualifier to the index entry, and line 16 standardizes the header format by moving "- Experimental" outside the code literal, matching the format used in other experimental function documentation files.

Also applies to: 16-16

locale/en/LC_MESSAGES/pgrouting_doc_strings.po (2)

11-11: No issues found—.po file regenerated correctly via msgmerge.

The matching POT-Creation-Date values (2025-10-28 20:20+0000) between the .pot and .po files confirm this was properly regenerated from the template via msgmerge, not manually edited. Per project guidelines, locale files are auto-managed and this update follows the correct workflow.


9531-9531: I need to verify the source .rst file and understand where this msgid originates. Let me search for the original source:

Let me check the actual .rst source file in the repository to confirm the intent:

EN .po and .pot msgids differ from non-EN .po files—translation database is inconsistent and requires fixing.

The script output reveals a critical issue: the .pot file and EN .po have msgid "``pgr_bellmanFord`` - Experimental" (backticks only around the function name), but all non-EN .po files (ko, ja, zh_Hans, sv, es, de) retain the old form msgid "``pgr_bellmanFord - Experimental``" (backticks wrapping the entire string).

This msgid mismatch violates translation file integrity. Per the learnings on pgRouting, locale file modifications should be handled through Weblate or action commits, not manual edits in PRs. The non-EN files must be regenerated or merged from the updated .pot to restore consistency. Otherwise, the translation system will treat the old msgid entries in non-EN files as orphaned, leading to translation loss or misalignment.

Action: Regenerate non-EN .po files from the updated .pot file using msgmerge (or Weblate sync), or revert the EN .po and .pot changes to maintain consistency until a proper translation workflow is followed.

locale/pot/pgrouting_doc_strings.pot (2)

11-11: POT date bump looks good; confirm it’s generated.

POT-Creation-Date update is expected for the v4.0.0-rc1 pump. Please confirm this .pot was regenerated via the docs/locale pipeline (Sphinx/CMake), not manually edited. Based on learnings


8164-8169: Label tweak improves semantics; ensure consistency across docs.

Changing to "pgr_bellmanFord - Experimental" is a good fix. Please verify the same pattern is applied across all experimental/proposed function labels and that en/.po (and Weblate strings) were refreshed to match the new msgid. Based on learnings

CMakeLists.txt (1)

35-35: LGTM! Version bump correctly applied.

The update from "-beta1" to "-rc1" aligns with the PR objective to bump the project to v4.0.0-rc1.

.github/workflows/macos.yml (3)

82-82: Path update consistent with PostgreSQL 17 upgrade.

This path change correctly reflects the PostgreSQL version upgrade to 17, assuming that upgrade is confirmed as intentional (see earlier comment).


55-56: The review comment is based on an incorrect premise.

The PostgreSQL 17 upgrade in .github/workflows/macos.yml was not introduced in this PR. Git history shows these changes were already committed in prior merges:

  • dd67c5378: "Update postgresql@17"
  • 5a6a226eb: "Install postgresql@17 for homebrew postgis"
  • 87b289100: "Apply homebrew pgrouting.rb patch for postgresql >= 16"

These commits predate the current PR's version bump (fd7fb6bfb: Pump up to 4.0.0-rc1). The macos.yml file reflects the existing infrastructure state, not new scope creep in this PR.

Likely an incorrect or invalid review comment.


62-62: Remove redundant -DCMAKE_SHARED_MODULE_SUFFIX_CXX=.dylib flag or document its purpose.

CMake defaults to .dylib for loadable modules on macOS, making this flag explicit but redundant. PostgreSQL 17 macOS build documentation does not require explicitly setting this flag. Since this flag appears only in this one workflow file with no accompanying documentation, either:

  1. Remove it if no specific build issue justifies its presence, or
  2. Add a comment explaining the workaround if it addresses a known problem
docqueries/version/full_version.result (1)

7-10: LGTM! Expected output updated to match version bump.

The expected output correctly reflects the version change from "4.0.0-beta1" to "4.0.0-rc1", consistent with the PROJECT_VERSION_DEV update in CMakeLists.txt. The minor header formatting adjustment maintains proper alignment.

@cvvergara cvvergara merged commit e3d3ecb into pgRouting:main Oct 30, 2025
62 checks passed
@cvvergara cvvergara deleted the pumpup-to-rc1 branch October 30, 2025 19:31
@coderabbitai coderabbitai bot mentioned this pull request Nov 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants