{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2016-05-12", "build": "9.2.17", "major": "9.2", "minor": 17, "manual": "9.2", "status": "stable", "doc_git": "", "version": "9.2.17", "eol_date": "2017-11-09", "date_text": "2016-05-12", "supported": false, "manual_url": "/docs/9.2/release-9-2-17.html", "source_url": "/docs/release/9.2.17/", "entry_count": 14, "placeholder": false, "content_hash": "af073946b7c060bca244f3441cc372463f76deb0a8cb5a5feffd4838667b51c5", "manual_build": "9.2.24", "source_as_of": "", "changes_count": 14, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.2.X.</p>\n<p>However, if you are upgrading from a version earlier than 9.2.11, see <a href=\"/docs/9.2/release-9-2-11.html\">Section E.14</a>.</p>", "compatibility_count": 0, "label": "9.2.17", "status_label": "Historical", "eol": "2017-11-09", "age_days": 3792, "support_days": -3246}, "groups": [{"date": "2016-05-12", "build": "9.2.17", "major": "9.2", "minor": 17, "manual": "9.2", "status": "stable", "doc_git": "", "version": "9.2.17", "eol_date": "2017-11-09", "date_text": "2016-05-12", "supported": false, "manual_url": "/docs/9.2/release-9-2-17.html", "source_url": "/docs/release/9.2.17/", "entry_count": 14, "placeholder": false, "content_hash": "af073946b7c060bca244f3441cc372463f76deb0a8cb5a5feffd4838667b51c5", "manual_build": "9.2.24", "source_as_of": "", "changes_count": 14, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.2.X.</p>\n<p>However, if you are upgrading from a version earlier than 9.2.11, see <a href=\"/docs/9.2/release-9-2-11.html\">Section E.14</a>.</p>", "compatibility_count": 0, "label": "9.2.17", "status_label": "Historical", "eol": "2017-11-09", "age_days": 3792, "support_days": -3246, "entries": [{"id": "9.2.17-8ca1986048fbb187", "cves": [], "html": "<p>Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut)</p>\n<p>This change prevents problems when there are multiple connections using OpenSSL within a single process and not all the code involved follows the same rules for when to clear the error queue. Failures have been reported specifically when a client application uses SSL connections in <span>libpq</span> concurrently with SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL. It's possible for similar problems to arise within the server as well, if an extension module establishes an outgoing SSL connection.</p>", "text": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut) This change prevents problems when there are multiple connections using OpenSSL within a single process and not all the code involved follows the same rules for when to clear the error queue. Failures have been reported specifically when a client application uses SSL connections in libpq concurrently with SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL. It's possible for similar problems to arise within the server as well, if an extension module establishes an outgoing SSL connection.", "title": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "9237a97d823d6221147e19eee9f36023227d8ab356015f8c7b7f9e2486df29e7", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards (Peter Geoghegan, Dave Vitek, Peter Eisentraut) This change prevents problems when there are multiple connections using OpenSSL within a single process and not all the code involved follows the same rules for when to clear the error queue. Failures have been reported specifically when a client application uses SSL connections in libpq concurrently with SSL connections using the PHP, Python, or Ruby wrappers for OpenSSL. It's possible for similar problems to arise within the server as well, if an extension module establishes an outgoing SSL connection.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/001", "db_id": "62f20c0d05d29bf341e3aaee06275c55", "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc", "relations": [{"rule": 2, "type": "equivalent", "target": "4b7db9362a26183bd17c5103480fbee1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}}, {"rule": 2, "type": "equivalent", "target": "91ac1006417b49305cc67423f60912db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}}, {"rule": 2, "type": "equivalent", "target": "9fa608c377aee746ac2c611e33319396", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}}, {"rule": 2, "type": "equivalent", "target": "e600a65fa6acd98ee339fbf365447dbc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4b7db9362a26183bd17c5103480fbee1", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}, "url": "/docs/compare/?release=9.5.3#9.5.3-8ca1986048fbb187", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "9fa608c377aee746ac2c611e33319396", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}, "url": "/docs/compare/?release=9.4.8#9.4.8-8ca1986048fbb187", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "e600a65fa6acd98ee339fbf365447dbc", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}, "url": "/docs/compare/?release=9.3.13#9.3.13-8ca1986048fbb187", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "91ac1006417b49305cc67423f60912db", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Clear the OpenSSL error queue before OpenSSL calls, rather than assuming it's clear already; and make sure we leave it clear afterwards", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "538b4824fa0c903d31fd2f283cfb7d4a7ea1d2d8a6417468be19e445ce4736dc"}, "url": "/docs/compare/?release=9.1.22#9.1.22-8ca1986048fbb187", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-799877207b9208b1", "cves": [], "html": "<p>Fix <span>\"failed to build any <i>N</i>-way joins\"</span> planner error with a full join enclosed in the right-hand side of a left join (Tom Lane)</p>", "text": "Fix \"failed to build any N-way joins\" planner error with a full join enclosed in the right-hand side of a left join (Tom Lane)", "title": "Fix \"failed to build any N-way joins\" planner error with a full join enclosed in the right-hand side of a left join", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "17387065ecc97ba49aef3c9cd5e7cc860ceea6a0dc2a622e7979fae5f0a7320a", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix failed to build any N-way joins planner error with a full join enclosed in the right-hand side of a left join (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/002", "db_id": "e4320446d7334c9e58ccf5dc74856b6f", "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704", "relations": [{"rule": 2, "type": "equivalent", "target": "5bd965c9aad8a1025186c6e34273b4a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}}, {"rule": 2, "type": "equivalent", "target": "a1381391d5e4f3d2ad49fca1e339a37b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}}, {"rule": 2, "type": "equivalent", "target": "a537cb7093824ef93e612e2110dd6e79", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}}, {"rule": 2, "type": "equivalent", "target": "dbb0f62fc7a76e48c3dc546d1181865b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}}], "version": "9.2.17", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "5bd965c9aad8a1025186c6e34273b4a6", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Fix \"failed to build any N-way joins\" planner error with a full join enclosed in the right-hand side of a left join", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}, "url": "/docs/compare/?release=9.5.3#9.5.3-799877207b9208b1", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "a1381391d5e4f3d2ad49fca1e339a37b", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Fix \"failed to build any N-way joins\" planner error with a full join enclosed in the right-hand side of a left join", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}, "url": "/docs/compare/?release=9.4.8#9.4.8-799877207b9208b1", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "a537cb7093824ef93e612e2110dd6e79", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Fix \"failed to build any N-way joins\" planner error with a full join enclosed in the right-hand side of a left join", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}, "url": "/docs/compare/?release=9.3.13#9.3.13-799877207b9208b1", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "dbb0f62fc7a76e48c3dc546d1181865b", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Fix \"failed to build any N-way joins\" planner error with a full join enclosed in the right-hand side of a left join", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "424d4851e66a3292648b8e73220e0a214e0fc736e0bb8d73dc8f0630bc99a704"}, "url": "/docs/compare/?release=9.1.22#9.1.22-799877207b9208b1", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-9c637e9507480aa5", "cves": [], "html": "<p>Fix incorrect handling of equivalence-class tests in multilevel nestloop plans (Tom Lane)</p>\n<p>Given a three-or-more-way equivalence class of variables, such as X.X = Y.Y = Z.Z, it was possible for the planner to omit some of the tests needed to enforce that all the variables are actually equal, leading to join rows being output that didn't satisfy the WHERE clauses. For various reasons, erroneous plans were seldom selected in practice, so that this bug has gone undetected for a long time.</p>", "text": "Fix incorrect handling of equivalence-class tests in multilevel nestloop plans (Tom Lane) Given a three-or-more-way equivalence class of variables, such as X.X = Y.Y = Z.Z, it was possible for the planner to omit some of the tests needed to enforce that all the variables are actually equal, leading to join rows being output that didn't satisfy the WHERE clauses. For various reasons, erroneous plans were seldom selected in practice, so that this bug has gone undetected for a long time.", "title": "Fix incorrect handling of equivalence-class tests in multilevel nestloop plans", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "19afd0025d014b69ba2c478f2f3e2c9e897111d72b08403521ad956b48174f39", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix incorrect handling of equivalence-class tests in multilevel nestloop plans (Tom Lane) Given a three-or-more-way equivalence class of variables, such as X.X = Y.Y = Z.Z, it was possible for the planner to omit some of the tests needed to enforce that all the variables are actually equal, leading to join rows being output that didn't satisfy the WHERE clauses. For various reasons, erroneous plans were seldom selected in practice, so that this bug has gone undetected for a long time.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/003", "db_id": "a591d7fb30a19ac1fb7fa4682eea85a0", "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b", "relations": [{"rule": 2, "type": "equivalent", "target": "1dce94c98aa5f0c56a05efee097c5813", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b"}}, {"rule": 2, "type": "equivalent", "target": "bf6d8e775756f9e92f946f44a25167e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b"}}, {"rule": 2, "type": "equivalent", "target": "c6e0819be96584028fc9634442b895bc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b"}}], "version": "9.2.17", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "1dce94c98aa5f0c56a05efee097c5813", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Fix incorrect handling of equivalence-class tests in multilevel nestloop plans", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b"}, "url": "/docs/compare/?release=9.5.3#9.5.3-9c637e9507480aa5", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "c6e0819be96584028fc9634442b895bc", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Fix incorrect handling of equivalence-class tests in multilevel nestloop plans", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b"}, "url": "/docs/compare/?release=9.4.8#9.4.8-9c637e9507480aa5", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "bf6d8e775756f9e92f946f44a25167e8", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Fix incorrect handling of equivalence-class tests in multilevel nestloop plans", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "39d57538bd4ec5f2b5bebd700402685db3bb968bc9b8e4033f3000f27f91878b"}, "url": "/docs/compare/?release=9.3.13#9.3.13-9c637e9507480aa5", "source_url": "/docs/release/9.3.13/#AEN116720"}]}, {"id": "9.2.17-7c80762f2ea05cc3", "cves": [], "html": "<p>Fix possible misbehavior of TH, th, and Y,YYY format codes in <code>to_timestamp()</code> (Tom Lane)</p>\n<p>These could advance off the end of the input string, causing subsequent format codes to read garbage.</p>", "text": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp() (Tom Lane) These could advance off the end of the input string, causing subsequent format codes to read garbage.", "title": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp()", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "f3cec4f93dd255ccc1aa536d8961c9974ec1421185627648064faa833aa1be2e", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp() (Tom Lane) These could advance off the end of the input string, causing subsequent format codes to read garbage.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/004", "db_id": "366779bac19088d552991e951754241f", "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81", "relations": [{"rule": 2, "type": "equivalent", "target": "42f903f018fa1beaa8ee03a199b65c53", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}}, {"rule": 2, "type": "equivalent", "target": "7164f936ae309710c73da3cb2981db31", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}}, {"rule": 2, "type": "equivalent", "target": "9f6cefd6666bebbaa2d32d82c79a6a7e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}}, {"rule": 2, "type": "equivalent", "target": "f07bcffec9ce123ed674a9e6d146e64d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}}], "version": "9.2.17", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "9f6cefd6666bebbaa2d32d82c79a6a7e", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}, "url": "/docs/compare/?release=9.5.3#9.5.3-7c80762f2ea05cc3", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "f07bcffec9ce123ed674a9e6d146e64d", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}, "url": "/docs/compare/?release=9.4.8#9.4.8-7c80762f2ea05cc3", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "42f903f018fa1beaa8ee03a199b65c53", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}, "url": "/docs/compare/?release=9.3.13#9.3.13-7c80762f2ea05cc3", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "7164f936ae309710c73da3cb2981db31", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Fix possible misbehavior of TH, th, and Y,YYY format codes in to_timestamp()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60f0142c5486b145bd4a996a2a5bb2dc222192497df359187868e92109d72f81"}, "url": "/docs/compare/?release=9.1.22#9.1.22-7c80762f2ea05cc3", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-fbc561849eec0f1c", "cves": [], "html": "<p>Fix dumping of rules and views in which the <i>array</i> argument of a <i>value</i> <i>operator</i> ANY (<i>array</i>) construct is a sub-SELECT (Tom Lane)</p>", "text": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT (Tom Lane)", "title": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "fd4b1524450c1ee0b24fcdda834b60985e8a3c2b1ea43075670ff5a8b39e7bf3", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/005", "db_id": "54052bff4c90837071042d50a7fe7cc2", "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756", "relations": [{"rule": 2, "type": "equivalent", "target": "2863c53ebf45db469ef041d1f6d99c17", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}}, {"rule": 2, "type": "equivalent", "target": "36ff8c45b3e88c8731029c9d47e99c0a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}}, {"rule": 2, "type": "equivalent", "target": "486ec00869568cfeb91f9781dd8d8973", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}}, {"rule": 2, "type": "equivalent", "target": "b1cc85e77e70b614188e52ae51af907c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}}], "version": "9.2.17", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "36ff8c45b3e88c8731029c9d47e99c0a", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}, "url": "/docs/compare/?release=9.5.3#9.5.3-fbc561849eec0f1c", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "486ec00869568cfeb91f9781dd8d8973", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}, "url": "/docs/compare/?release=9.4.8#9.4.8-fbc561849eec0f1c", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "2863c53ebf45db469ef041d1f6d99c17", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}, "url": "/docs/compare/?release=9.3.13#9.3.13-fbc561849eec0f1c", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "b1cc85e77e70b614188e52ae51af907c", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Fix dumping of rules and views in which the array argument of a value operator ANY (array) construct is a sub-SELECT", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c96c02a651a1cbcc7a614c7171c9ba39a99b092e1b90e1e65598689c1a50756"}, "url": "/docs/compare/?release=9.1.22#9.1.22-fbc561849eec0f1c", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-53e3c8511675672a", "cves": [], "html": "<p>Make <span>pg_regress</span> use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set (Tom Lane)</p>\n<p>This is for consistency with a behavior recently added to <span>pg_ctl</span>; it eases automated testing on slow machines.</p>", "text": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set (Tom Lane) This is for consistency with a behavior recently added to pg_ctl; it eases automated testing on slow machines.", "title": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "3a87570f806f3937c9571aa5f9bb22a678709761a8410a338609edc6ae50fc8c", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set (Tom Lane) This is for consistency with a behavior recently added to pg_ctl; it eases automated testing on slow machines.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/006", "db_id": "2ce275053c28723ba1f1be8f29c5f7dd", "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e", "relations": [{"rule": 2, "type": "equivalent", "target": "8bc8cda2e133d09a52e7c1055bf2041b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}}, {"rule": 2, "type": "equivalent", "target": "8e6b40fe0e5a908a3e5fa86b1e5245d7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}}, {"rule": 2, "type": "equivalent", "target": "c415a1e7cea295cdb2c5d5bfc63e8dec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}}, {"rule": 2, "type": "equivalent", "target": "d81adfb5b072cb2ca0685aee8eae6ca2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8bc8cda2e133d09a52e7c1055bf2041b", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}, "url": "/docs/compare/?release=9.5.3#9.5.3-53e3c8511675672a", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "d81adfb5b072cb2ca0685aee8eae6ca2", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}, "url": "/docs/compare/?release=9.4.8#9.4.8-53e3c8511675672a", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "8e6b40fe0e5a908a3e5fa86b1e5245d7", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}, "url": "/docs/compare/?release=9.3.13#9.3.13-53e3c8511675672a", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "c415a1e7cea295cdb2c5d5bfc63e8dec", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Make pg_regress use a startup timeout from the PGCTLTIMEOUT environment variable, if that's set", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a2b191b0403d00f404dfc01085db53ae78407265223bbbd3520616f7d9dd679e"}, "url": "/docs/compare/?release=9.1.22#9.1.22-53e3c8511675672a", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-b1f7d55e70d000b5", "cves": [], "html": "<p>Fix <span>pg_upgrade</span> to correctly restore extension membership for operator families containing only one operator class (Tom Lane)</p>\n<p>In such a case, the operator family was restored into the new database, but it was no longer marked as part of the extension. This had no immediate ill effects, but would cause later <span>pg_dump</span> runs to emit output that would cause (harmless) errors on restore.</p>", "text": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class (Tom Lane) In such a case, the operator family was restored into the new database, but it was no longer marked as part of the extension. This had no immediate ill effects, but would cause later pg_dump runs to emit output that would cause (harmless) errors on restore.", "title": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "a6d34b69677d2f20d653538190f1ae2503eba3dc077f99e4379219faae8344db", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class (Tom Lane) In such a case, the operator family was restored into the new database, but it was no longer marked as part of the extension. This had no immediate ill effects, but would cause later pg_dump runs to emit output that would cause (harmless) errors on restore.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/007", "db_id": "9705472832c0c7cbceea1131065a8aab", "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953", "relations": [{"rule": 2, "type": "equivalent", "target": "47d0f0c5b40b9c550b968d5651c6f301", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}}, {"rule": 2, "type": "equivalent", "target": "4c64b8a24772abea3a1b65548126c81d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}}, {"rule": 2, "type": "equivalent", "target": "7c7076996d977e64c38b5a365b48b4c2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}}, {"rule": 2, "type": "equivalent", "target": "f91fdd52872619c7dcfff3b1b5a0f7a5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}}], "version": "9.2.17", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "47d0f0c5b40b9c550b968d5651c6f301", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}, "url": "/docs/compare/?release=9.5.3#9.5.3-b1f7d55e70d000b5", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "7c7076996d977e64c38b5a365b48b4c2", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}, "url": "/docs/compare/?release=9.4.8#9.4.8-b1f7d55e70d000b5", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "f91fdd52872619c7dcfff3b1b5a0f7a5", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}, "url": "/docs/compare/?release=9.3.13#9.3.13-b1f7d55e70d000b5", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "4c64b8a24772abea3a1b65548126c81d", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Fix pg_upgrade to correctly restore extension membership for operator families containing only one operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "42a67df0b603e189af9ec165ccc13e98aae95587ce816f12af83e76546828953"}, "url": "/docs/compare/?release=9.1.22#9.1.22-b1f7d55e70d000b5", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-6cdc203c79c6912a", "cves": [], "html": "<p>Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3 (Tom Lane)</p>\n<p>These changes were not originally needed in pre-9.4 branches, but we recently back-patched a fix that expected the barrier code to work properly. Only IA64 (when using icc), HPPA, and Alpha platforms are affected.</p>", "text": "Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3 (Tom Lane) These changes were not originally needed in pre-9.4 branches, but we recently back-patched a fix that expected the barrier code to work properly. Only IA64 (when using icc), HPPA, and Alpha platforms are affected.", "title": "Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "36e2f1e7df1fc7eaec3b2d7f9ab0ad62c620e40df1f50a3a5e334864fa4f2c2d", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3 (Tom Lane) These changes were not originally needed in pre-9.4 branches, but we recently back-patched a fix that expected the barrier code to work properly. Only IA64 (when using icc), HPPA, and Alpha platforms are affected.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/008", "db_id": "fe535d25051693509dd560fc0ee06e9c", "patch_ids": [], "statement_hash": "eaf369959d2b4d8b942f63ded11b12358488d595e08ec7d0295853ab78602179", "relations": [{"rule": 2, "type": "equivalent", "target": "6e6ec47160b2d5703c52fd84453c040b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaf369959d2b4d8b942f63ded11b12358488d595e08ec7d0295853ab78602179"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6e6ec47160b2d5703c52fd84453c040b", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Back-port 9.4-era memory-barrier code changes into 9.2 and 9.3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaf369959d2b4d8b942f63ded11b12358488d595e08ec7d0295853ab78602179"}, "url": "/docs/compare/?release=9.3.13#9.3.13-6cdc203c79c6912a", "source_url": "/docs/release/9.3.13/#AEN116720"}]}, {"id": "9.2.17-4a28306d52e4fccf", "cves": [], "html": "<p>Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks (Tom Lane)</p>", "text": "Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks (Tom Lane)", "title": "Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "636c229deaac457348a35786326c32c882953f65dd85192a81e6bf0f10460316", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/009", "db_id": "33c5c7b70971a0d393e0aea021e0a3f7", "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af", "relations": [{"rule": 2, "type": "equivalent", "target": "cb24c362a321d2bebb433956de788e20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af"}}, {"rule": 2, "type": "equivalent", "target": "ccffb7da59097f758f46a81e9d9d38ae", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af"}}, {"rule": 2, "type": "equivalent", "target": "d21a98772764cb94acd1734c61fa88fe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d21a98772764cb94acd1734c61fa88fe", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af"}, "url": "/docs/compare/?release=9.5.3#9.5.3-4a28306d52e4fccf", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "ccffb7da59097f758f46a81e9d9d38ae", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af"}, "url": "/docs/compare/?release=9.4.8#9.4.8-4a28306d52e4fccf", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "cb24c362a321d2bebb433956de788e20", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Reduce the number of SysV semaphores used by a build configured with --disable-spinlocks", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c297ebcf7355bed20055ec3672232bb915d3b51254fa450207fcf561652ff5af"}, "url": "/docs/compare/?release=9.3.13#9.3.13-4a28306d52e4fccf", "source_url": "/docs/release/9.3.13/#AEN116720"}]}, {"id": "9.2.17-8dc7bd4b4d61a529", "cves": [], "html": "<p>Rename internal function <code>strtoi()</code> to <code>strtoint()</code> to avoid conflict with a NetBSD library function (Thomas Munro)</p>", "text": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function (Thomas Munro)", "title": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "92c08fcd0cfcc866cc9b5ad870a74973851d75150d0904d3c5e1de7180f39cf6", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function (Thomas Munro)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/010", "db_id": "265b4d732f27dacc36314edf518923c7", "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66", "relations": [{"rule": 2, "type": "equivalent", "target": "07795696d6a7ab8af1ad49d41cecb393", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}}, {"rule": 2, "type": "equivalent", "target": "35f0f4507cf02f3a765a76888b94e3a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}}, {"rule": 2, "type": "equivalent", "target": "6787c135c33be1a810d12eed7af6ec76", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}}, {"rule": 2, "type": "equivalent", "target": "f18b040e106e1164a59e5356999c0025", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "6787c135c33be1a810d12eed7af6ec76", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}, "url": "/docs/compare/?release=9.5.3#9.5.3-8dc7bd4b4d61a529", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "35f0f4507cf02f3a765a76888b94e3a4", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}, "url": "/docs/compare/?release=9.4.8#9.4.8-8dc7bd4b4d61a529", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "f18b040e106e1164a59e5356999c0025", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}, "url": "/docs/compare/?release=9.3.13#9.3.13-8dc7bd4b4d61a529", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "07795696d6a7ab8af1ad49d41cecb393", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Rename internal function strtoi() to strtoint() to avoid conflict with a NetBSD library function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daf37b8873ec7d489cc0b91d3259e1cf9092f1f7b73e0b3c07150b1b41082b66"}, "url": "/docs/compare/?release=9.1.22#9.1.22-8dc7bd4b4d61a529", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-0bbe2540258004e1", "cves": [], "html": "<p>Fix reporting of errors from <code>bind()</code> and <code>listen()</code> system calls on Windows (Tom Lane)</p>", "text": "Fix reporting of errors from bind() and listen() system calls on Windows (Tom Lane)", "title": "Fix reporting of errors from bind() and listen() system calls on Windows", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "4d0010776317ea20db12b153a84a498a532485649d4f2e9801b0ae72b2bfa109", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Fix reporting of errors from bind() and listen() system calls on Windows (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/011", "db_id": "8cd431978c2501c0e48cb95d54e3b96c", "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e", "relations": [{"rule": 2, "type": "equivalent", "target": "116ddf534cc4298b2ce9e58d67cb2fe8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}}, {"rule": 2, "type": "equivalent", "target": "6bc0398b17ec9e3ad2d18735b7b5d72e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}}, {"rule": 2, "type": "equivalent", "target": "855ced2f2e5cab1357a39946a69e1fbb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}}, {"rule": 2, "type": "equivalent", "target": "c0b7aec873e8f99f8e07b587338bcc9e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}}], "version": "9.2.17", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "6bc0398b17ec9e3ad2d18735b7b5d72e", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Fix reporting of errors from bind() and listen() system calls on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}, "url": "/docs/compare/?release=9.5.3#9.5.3-0bbe2540258004e1", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "c0b7aec873e8f99f8e07b587338bcc9e", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Fix reporting of errors from bind() and listen() system calls on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}, "url": "/docs/compare/?release=9.4.8#9.4.8-0bbe2540258004e1", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "855ced2f2e5cab1357a39946a69e1fbb", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Fix reporting of errors from bind() and listen() system calls on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}, "url": "/docs/compare/?release=9.3.13#9.3.13-0bbe2540258004e1", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "116ddf534cc4298b2ce9e58d67cb2fe8", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Fix reporting of errors from bind() and listen() system calls on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bf2f2fe0361a5a5b6b13d12099850bfa36ba78eaeed89fdd45b6cb4bb6ab6a8e"}, "url": "/docs/compare/?release=9.1.22#9.1.22-0bbe2540258004e1", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-66bf0920859662fb", "cves": [], "html": "<p>Reduce verbosity of compiler output when building with Microsoft Visual Studio (Christian Ullrich)</p>", "text": "Reduce verbosity of compiler output when building with Microsoft Visual Studio (Christian Ullrich)", "title": "Reduce verbosity of compiler output when building with Microsoft Visual Studio", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "fc9f728bb7578321d22405fb46f840f6f79f1527d7506f576a78d1d8b336ad56", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Reduce verbosity of compiler output when building with Microsoft Visual Studio (Christian Ullrich)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/012", "db_id": "d71802d2c796bee0af2e0ef03a38f9de", "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d", "relations": [{"rule": 2, "type": "equivalent", "target": "61232729f0482913301cc0d7e6c440a1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}}, {"rule": 2, "type": "equivalent", "target": "7a3891afe9938736bea802a096e04138", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}}, {"rule": 2, "type": "equivalent", "target": "cf56b471bd29a03824536d7212b750e3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}}, {"rule": 2, "type": "equivalent", "target": "f136ad3114dcbc143b8c85c170721a1d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "61232729f0482913301cc0d7e6c440a1", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Reduce verbosity of compiler output when building with Microsoft Visual Studio", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}, "url": "/docs/compare/?release=9.5.3#9.5.3-66bf0920859662fb", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "7a3891afe9938736bea802a096e04138", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Reduce verbosity of compiler output when building with Microsoft Visual Studio", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}, "url": "/docs/compare/?release=9.4.8#9.4.8-66bf0920859662fb", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "f136ad3114dcbc143b8c85c170721a1d", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Reduce verbosity of compiler output when building with Microsoft Visual Studio", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}, "url": "/docs/compare/?release=9.3.13#9.3.13-66bf0920859662fb", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "cf56b471bd29a03824536d7212b750e3", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Reduce verbosity of compiler output when building with Microsoft Visual Studio", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "09e50e6e202fa28451fddcdf0afee83b4b3defc8fa42cec3c632756845f8ef0d"}, "url": "/docs/compare/?release=9.1.22#9.1.22-66bf0920859662fb", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-cf249398f2a1b7d0", "cves": [], "html": "<p>Avoid possibly-unsafe use of Windows' <code>FormatMessage()</code> function (Christian Ullrich)</p>\n<p>Use the FORMAT_MESSAGE_IGNORE_INSERTS flag where appropriate. No live bug is known to exist here, but it seems like a good idea to be careful.</p>", "text": "Avoid possibly-unsafe use of Windows' FormatMessage() function (Christian Ullrich) Use the FORMAT_MESSAGE_IGNORE_INSERTS flag where appropriate. No live bug is known to exist here, but it seems like a good idea to be careful.", "title": "Avoid possibly-unsafe use of Windows' FormatMessage() function", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "c51616cdd2e96f073fa266202f9f29c7de93048477510dad55fbc41e8ce0a0a6", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Avoid possibly-unsafe use of Windows' FormatMessage() function (Christian Ullrich) Use the FORMAT_MESSAGE_IGNORE_INSERTS flag where appropriate. No live bug is known to exist here, but it seems like a good idea to be careful.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/013", "db_id": "c8f12bcc3a5d2869fd3159cf8aad42b3", "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba", "relations": [{"rule": 2, "type": "equivalent", "target": "1374cce413b2405053b6174d2b9dd2a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}}, {"rule": 2, "type": "equivalent", "target": "83547afdd12a20fb7887af738b9429f9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}}, {"rule": 2, "type": "equivalent", "target": "843ff6f7a705472abc8ca1bf3a66d2dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}}, {"rule": 2, "type": "equivalent", "target": "9e736f2478d30355bea81a22347b74e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "83547afdd12a20fb7887af738b9429f9", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Avoid possibly-unsafe use of Windows' FormatMessage() function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}, "url": "/docs/compare/?release=9.5.3#9.5.3-cf249398f2a1b7d0", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "9e736f2478d30355bea81a22347b74e4", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Avoid possibly-unsafe use of Windows' FormatMessage() function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}, "url": "/docs/compare/?release=9.4.8#9.4.8-cf249398f2a1b7d0", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "1374cce413b2405053b6174d2b9dd2a4", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Avoid possibly-unsafe use of Windows' FormatMessage() function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}, "url": "/docs/compare/?release=9.3.13#9.3.13-cf249398f2a1b7d0", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "843ff6f7a705472abc8ca1bf3a66d2dd", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Avoid possibly-unsafe use of Windows' FormatMessage() function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4f0eb8a21a6ee7835478ee8b39a7a3a9445d6521a51d6e6230dce3af243f31ba"}, "url": "/docs/compare/?release=9.1.22#9.1.22-cf249398f2a1b7d0", "source_url": "/docs/release/9.1.22/#AEN107183"}]}, {"id": "9.2.17-051c8fb3ad3c494c", "cves": [], "html": "<p>Update time zone data files to <span>tzdata</span> release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.</p>", "text": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "title": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.2.17/#AEN111639", "source_hash": "576753c595f492c28360ee740466a151e91c19b300733100f3d86544acf84783", "section_path": ["Changes"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.17/changes/014", "db_id": "d2b408cac57b270129b64b56ed0557f0", "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e", "relations": [{"rule": 2, "type": "equivalent", "target": "691cfe52509ead5429d7f97ff5bf105b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}}, {"rule": 2, "type": "equivalent", "target": "72850db23891e29cc2438e350a1ea33b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}}, {"rule": 2, "type": "equivalent", "target": "79f54e8b0b7b27ff93837ee34ccf5720", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}}, {"rule": 2, "type": "equivalent", "target": "dbc73dfd3e223f7a6162474c523aca1d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}}], "version": "9.2.17", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "691cfe52509ead5429d7f97ff5bf105b", "kind": "equivalent", "version": "9.5.3", "label": "9.5.3", "title": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}, "url": "/docs/compare/?release=9.5.3#9.5.3-051c8fb3ad3c494c", "source_url": "/docs/release/9.5.3/#AEN130985"}, {"db_id": "72850db23891e29cc2438e350a1ea33b", "kind": "equivalent", "version": "9.4.8", "label": "9.4.8", "title": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}, "url": "/docs/compare/?release=9.4.8#9.4.8-051c8fb3ad3c494c", "source_url": "/docs/release/9.4.8/#AEN122453"}, {"db_id": "dbc73dfd3e223f7a6162474c523aca1d", "kind": "equivalent", "version": "9.3.13", "label": "9.3.13", "title": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}, "url": "/docs/compare/?release=9.3.13#9.3.13-051c8fb3ad3c494c", "source_url": "/docs/release/9.3.13/#AEN116720"}, {"db_id": "79f54e8b0b7b27ff93837ee34ccf5720", "kind": "equivalent", "version": "9.1.22", "label": "9.1.22", "title": "Update time zone data files to tzdata release 2016d for DST law changes in Russia and Venezuela. There are new zone names Europe/Kirov and Asia/Tomsk to reflect the fact that these regions now have different time zone histories from adjacent regions.", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fee40e3c98d325f9913c0780bdacc75d834d5a2e3476deca5c8b25342cf81a8e"}, "url": "/docs/compare/?release=9.1.22#9.1.22-051c8fb3ad3c494c", "source_url": "/docs/release/9.1.22/#AEN107183"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 14}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 6}, {"key": "security", "label": "Security", "count": 0}, {"key": "performance", "label": "Performance", "count": 0}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 8}], "total": 14, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 14, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}