)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"b68f1332a08967627cf44d6ddac9f7585c85c355","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently , CIDR was not checked while converting address"},{"line_number":10,"context_line":"to the canonical format in [1]."},{"line_number":11,"context_line":"As most inputs to the neutron server would have CIDR, therefore"},{"line_number":12,"context_line":"this patch handles this issue."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"[1]:Ic9afa5f90fba783748f7c56e8fba02e06af69748"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa31d9ce_8249a3b9","line":12,"updated":"2017-02-14 17:17:48.000000000","message":"Can you please help me understand where this is going to be used?","commit_id":"57d1aeebc8eb131cb3b3c802e1329752474b75d0"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"29beebd7151eaf3448cf61524691138dc7b6a668","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add CIDR for canonical format conversion"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently , CIDR was not checked while converting address"},{"line_number":10,"context_line":"to the canonical format in [1]."},{"line_number":11,"context_line":"As most inputs to the neutron server would have CIDR, therefore"},{"line_number":12,"context_line":"this patch handles this issue."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7ffa3b31_043b7ad1","line":9,"range":{"start_line":9,"start_character":9,"end_line":9,"end_character":10},"updated":"2017-04-13 20:57:55.000000000","message":"nit: extra space","commit_id":"899b6d20b18431709c7b5ebb497e11700ca35fb7"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6e50ab6e48e0a6e77edacc3985566b56385d60d2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add CIDR for canonical format conversion"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently , CIDR was not checked while converting address"},{"line_number":10,"context_line":"to the canonical format in [1]."},{"line_number":11,"context_line":"As most inputs to the neutron server would have CIDR, therefore"},{"line_number":12,"context_line":"this patch handles this issue."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7ffa3b31_242c3646","line":9,"range":{"start_line":9,"start_character":9,"end_line":9,"end_character":10},"in_reply_to":"7ffa3b31_043b7ad1","updated":"2017-04-13 21:08:16.000000000","message":"Done","commit_id":"899b6d20b18431709c7b5ebb497e11700ca35fb7"}],"neutron_lib/api/converters.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"fcd1a2dd8717a6361c1734667cd2213cb6ab0299","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    if \"/\" in value:"},{"line_number":198,"context_line":"        return convert_ip_to_canonical_format("},{"line_number":199,"context_line":"            value.split(\u0027/\u0027)[0]) + \"/\" + value.split(\u0027/\u0027)[1]"},{"line_number":200,"context_line":"    return value"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"def convert_string_to_case_insensitive(data):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa31d9ce_7a165aa8","line":200,"updated":"2017-02-13 14:26:24.000000000","message":"Shouldn\u0027t we raise invalidInput if this is not a CIDR?\n\nAlso, we should probably confirm that it\u0027s a valid CIDR rather than trusting whatever is on the right of the \u0027/\u0027.\n\ntry:\n   value \u003d str(netaddr.IPNetwork(value))\nexcept ...:\n   raise InvalidInput(...","commit_id":"2076de289e29fef1f71aba394d02d9a76a8c762f"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"afdcfa5afff4433d6a4343b0f5afafe32893831c","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    return value"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"def convert_cidr_to_canonical_format(value):"},{"line_number":189,"context_line":"    \"\"\"CIDR is validated and converted to canonical format."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    :param value: The CIDR which needs to be checked."}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_be0a891f","line":188,"range":{"start_line":188,"start_character":4,"end_line":188,"end_character":36},"updated":"2017-03-20 16:08:42.000000000","message":"So this really only converts in the case of IPv6 right? If so does it make sense to put ipv6 somewhere in the name??","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"fc0afa6baaf06488b36bbca89702c8b4ddcbe0cb","unresolved":false,"context_lines":[{"line_number":185,"context_line":"    return value"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"def convert_cidr_to_canonical_format(value):"},{"line_number":189,"context_line":"    \"\"\"CIDR is validated and converted to canonical format."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    :param value: The CIDR which needs to be checked."}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_bc227050","line":188,"range":{"start_line":188,"start_character":4,"end_line":188,"end_character":36},"in_reply_to":"1a1ced50_be0a891f","updated":"2017-03-21 10:13:30.000000000","message":"Currently it does IPv6.. if future requirement is there to convert IPv4, then it can be addressed as well in the same function","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"afdcfa5afff4433d6a4343b0f5afafe32893831c","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    \"\"\"CIDR is validated and converted to canonical format."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    :param value: The CIDR which needs to be checked."},{"line_number":192,"context_line":"    :returns: - None if \u0027value\u0027 is None,"},{"line_number":193,"context_line":"              - \u0027value\u0027 if \u0027value\u0027 is not a valid CIDR."},{"line_number":194,"context_line":"              - \u0027value\u0027 if \u0027value\u0027 is CIDR with IPv4 address,"},{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_e3ec6e91","line":192,"updated":"2017-03-20 16:08:42.000000000","message":"This returns doesn\u0027t seem to properly describe the behavior. For example:\n- None will raise a TypeError\n- An invalid CIDR will raise InvalidInput\n- etc..","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"afdcfa5afff4433d6a4343b0f5afafe32893831c","unresolved":false,"context_lines":[{"line_number":194,"context_line":"              - \u0027value\u0027 if \u0027value\u0027 is CIDR with IPv4 address,"},{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."},{"line_number":196,"context_line":"    \"\"\""},{"line_number":197,"context_line":"    error_message \u003d _(\" %s is not in a CIDR format \") % value"},{"line_number":198,"context_line":"    try:"},{"line_number":199,"context_line":"        cidr \u003d netaddr.IPNetwork(value)"},{"line_number":200,"context_line":"        return str(convert_ip_to_canonical_format("}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_832c9a03","line":197,"range":{"start_line":197,"start_character":50,"end_line":197,"end_character":51},"updated":"2017-03-20 16:08:42.000000000","message":"Nit: trailing space.","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"fc0afa6baaf06488b36bbca89702c8b4ddcbe0cb","unresolved":false,"context_lines":[{"line_number":194,"context_line":"              - \u0027value\u0027 if \u0027value\u0027 is CIDR with IPv4 address,"},{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."},{"line_number":196,"context_line":"    \"\"\""},{"line_number":197,"context_line":"    error_message \u003d _(\" %s is not in a CIDR format \") % value"},{"line_number":198,"context_line":"    try:"},{"line_number":199,"context_line":"        cidr \u003d netaddr.IPNetwork(value)"},{"line_number":200,"context_line":"        return str(convert_ip_to_canonical_format("}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_fc186820","line":197,"range":{"start_line":197,"start_character":50,"end_line":197,"end_character":51},"in_reply_to":"1a1ced50_832c9a03","updated":"2017-03-21 10:13:30.000000000","message":"Done","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"956dd34f80f1f1e84f37753e7c6bb06dfebf118a","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    \"\"\"CIDR is validated and converted to canonical format."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    :param value: The CIDR which needs to be checked."},{"line_number":192,"context_line":"    :returns: - Error if \u0027value\u0027 is None,"},{"line_number":193,"context_line":"              - Error if \u0027value\u0027 is not a valid CIDR."},{"line_number":194,"context_line":"              - \u0027value\u0027 if \u0027value\u0027 is CIDR with IPv4 address,"},{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."}],"source_content_type":"text/x-python","patch_set":15,"id":"9ff52f3f_a5c03852","line":192,"range":{"start_line":192,"start_character":16,"end_line":192,"end_character":24},"updated":"2017-04-13 12:30:25.000000000","message":"Nit: it appears these Errors are not returned, but rather raised. Therefore it\u0027d be clearer to describe them in the :raises: docstring rather than saying it returns an error.","commit_id":"899b6d20b18431709c7b5ebb497e11700ca35fb7"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6e50ab6e48e0a6e77edacc3985566b56385d60d2","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    \"\"\"CIDR is validated and converted to canonical format."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    :param value: The CIDR which needs to be checked."},{"line_number":192,"context_line":"    :returns: - Error if \u0027value\u0027 is None,"},{"line_number":193,"context_line":"              - Error if \u0027value\u0027 is not a valid CIDR."},{"line_number":194,"context_line":"              - \u0027value\u0027 if \u0027value\u0027 is CIDR with IPv4 address,"},{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."}],"source_content_type":"text/x-python","patch_set":15,"id":"7ffa3b31_04213a4e","line":192,"range":{"start_line":192,"start_character":16,"end_line":192,"end_character":24},"in_reply_to":"9ff52f3f_a5c03852","updated":"2017-04-13 21:08:16.000000000","message":"Done","commit_id":"899b6d20b18431709c7b5ebb497e11700ca35fb7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"29beebd7151eaf3448cf61524691138dc7b6a668","unresolved":false,"context_lines":[{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."},{"line_number":196,"context_line":"              - Error if \u0027value\u0027 has invalid IP Format"},{"line_number":197,"context_line":"    \"\"\""},{"line_number":198,"context_line":"    error_message \u003d _(\" %s is not in a CIDR format\") % value"},{"line_number":199,"context_line":"    try:"},{"line_number":200,"context_line":"        cidr \u003d netaddr.IPNetwork(value)"},{"line_number":201,"context_line":"        return str(convert_ip_to_canonical_format("}],"source_content_type":"text/x-python","patch_set":15,"id":"7ffa3b31_e109a031","line":198,"range":{"start_line":198,"start_character":23,"end_line":198,"end_character":24},"updated":"2017-04-13 20:57:55.000000000","message":"extra space here","commit_id":"899b6d20b18431709c7b5ebb497e11700ca35fb7"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6e50ab6e48e0a6e77edacc3985566b56385d60d2","unresolved":false,"context_lines":[{"line_number":195,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."},{"line_number":196,"context_line":"              - Error if \u0027value\u0027 has invalid IP Format"},{"line_number":197,"context_line":"    \"\"\""},{"line_number":198,"context_line":"    error_message \u003d _(\" %s is not in a CIDR format\") % value"},{"line_number":199,"context_line":"    try:"},{"line_number":200,"context_line":"        cidr \u003d netaddr.IPNetwork(value)"},{"line_number":201,"context_line":"        return str(convert_ip_to_canonical_format("}],"source_content_type":"text/x-python","patch_set":15,"id":"7ffa3b31_e41d2e10","line":198,"range":{"start_line":198,"start_character":23,"end_line":198,"end_character":24},"in_reply_to":"7ffa3b31_e109a031","updated":"2017-04-13 21:08:16.000000000","message":"Done","commit_id":"899b6d20b18431709c7b5ebb497e11700ca35fb7"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"c57614c45f1f7e611de9b0b3893dd4f9193e7832","unresolved":false,"context_lines":[{"line_number":191,"context_line":"    :param value: The CIDR which needs to be checked."},{"line_number":192,"context_line":"    :returns: - \u0027value\u0027 if \u0027value\u0027 is CIDR with IPv4 address,"},{"line_number":193,"context_line":"              - CIDR with canonical IPv6 address if \u0027value\u0027 is IPv6 CIDR."},{"line_number":194,"context_line":"    :returns: - Error if \u0027value\u0027 is None,"},{"line_number":195,"context_line":"              - Error if \u0027value\u0027 is not a valid CIDR."},{"line_number":196,"context_line":"              - Error if \u0027value\u0027 has invalid IP Format"},{"line_number":197,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":16,"id":"7ffa3b31_f2bba20b","line":194,"range":{"start_line":194,"start_character":5,"end_line":194,"end_character":12},"updated":"2017-04-14 12:27:40.000000000","message":"Why do we have \u0027:returns:\u0027 twice in these doc strings?\nAlso, if using :raises: we should doc the exception class raised.. e.g.::\n\n  :raises: InvalidInput if A or B or C.","commit_id":"2beed3ea5411ae7dff4a32c304988735c05e875c"}],"neutron_lib/tests/unit/api/test_conversions.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"33f77e5dc350dc5f6bc84c5263fa9863744f06dd","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def test_convert_ipv6_extended_addr_withcidr_to_compressed(self):"},{"line_number":212,"context_line":"        result \u003d converters.convert_cidr_to_canonical_format("},{"line_number":213,"context_line":"            u\"Fe80:0:0:0:0:0:0:1/64\")"},{"line_number":214,"context_line":"        self.assertEqual(u\u0027fe80::1/64\u0027, result)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    def test_convert_non_ip_addr_with_slash(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_a28599cf","line":213,"updated":"2017-02-25 02:39:53.000000000","message":"I downloaded the patchset to my development system and ran this test case, removing /64. The converter swallowed the input and returned \u0027fe80::1/128\u0027. So the converter is not validating that it is getting a CIDR in the input. Is this the behavior we want?","commit_id":"922f092465bc5e81b59d65ea688dc82224a3a056"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"fb2b143f17355f6d45431e60b8b5af89a0a1e0e4","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def test_convert_ipv6_extended_addr_withcidr_to_compressed(self):"},{"line_number":212,"context_line":"        result \u003d converters.convert_cidr_to_canonical_format("},{"line_number":213,"context_line":"            u\"Fe80:0:0:0:0:0:0:1/64\")"},{"line_number":214,"context_line":"        self.assertEqual(u\u0027fe80::1/64\u0027, result)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    def test_convert_non_ip_addr_with_slash(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_31f49459","line":213,"in_reply_to":"da36d5c6_a28599cf","updated":"2017-02-25 15:38:40.000000000","message":"Hi Miguel, \nThanks for the test.\n\nThere are now 2 converters, one for the IP Address and one for the CIDR.\nWhat you tested was for IP address. Ideally, as this is a converter, validation for the format should have been done before the processing.\n\nAs per my discussion with Kevin on IRC and on this Patch, CIDR and IP would not generally be accepted by a single neutron resource( i.e. a neutron resource can have either IP address or CIDR but should not support both as an input)\nIf you have a scenario where a single resource can have multiple input types ( i.e. CIDR or IP address ) , then please let me know so that handling for that can be done as well","commit_id":"922f092465bc5e81b59d65ea688dc82224a3a056"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"afdcfa5afff4433d6a4343b0f5afafe32893831c","unresolved":false,"context_lines":[{"line_number":205,"context_line":"class TestConvertIPv6CIDRCanonicalFormat(base.BaseTestCase):"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_convert_ipv4_address_with_CIDR(self):"},{"line_number":208,"context_line":"        result \u003d converters.convert_cidr_to_canonical_format(u\"192.168.1.1/24\")"},{"line_number":209,"context_line":"        self.assertEqual(u\u0027192.168.1.1/24\u0027, result)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def test_convert_ipv6_extended_addr_withcidr_to_compressed(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_de72e5ac","line":208,"range":{"start_line":208,"start_character":61,"end_line":208,"end_character":62},"updated":"2017-03-20 16:08:42.000000000","message":"Intended to make this unicode right?","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"fc0afa6baaf06488b36bbca89702c8b4ddcbe0cb","unresolved":false,"context_lines":[{"line_number":205,"context_line":"class TestConvertIPv6CIDRCanonicalFormat(base.BaseTestCase):"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_convert_ipv4_address_with_CIDR(self):"},{"line_number":208,"context_line":"        result \u003d converters.convert_cidr_to_canonical_format(u\"192.168.1.1/24\")"},{"line_number":209,"context_line":"        self.assertEqual(u\u0027192.168.1.1/24\u0027, result)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    def test_convert_ipv6_extended_addr_withcidr_to_compressed(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a1ced50_7cc8f8a8","line":208,"range":{"start_line":208,"start_character":61,"end_line":208,"end_character":62},"in_reply_to":"1a1ced50_de72e5ac","updated":"2017-03-21 10:13:30.000000000","message":"Yes?... is it wrong ?\nWorked on my system","commit_id":"ca133dc915bf6fca3425ade966bfa20561d55d94"}],"releasenotes/notes/cidr_for_canonical_format-4e7925d76a27a19d.yaml":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"33f77e5dc350dc5f6bc84c5263fa9863744f06dd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IPv6 CIDRs are now converted to a canonical format in order to allow"},{"line_number":5,"context_line":"    so that different formats of IPv6 CIDRs provided as an input can be handled"},{"line_number":6,"context_line":"    in the same format."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"da36d5c6_024905d0","line":5,"range":{"start_line":4,"start_character":54,"end_line":5,"end_character":11},"updated":"2017-02-25 02:39:53.000000000","message":"The grammar here is confusing. Please streamline this","commit_id":"922f092465bc5e81b59d65ea688dc82224a3a056"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b7a46af9ce34ea1168cb8445d828e1f3d0e9351f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IPv6 CIDRs are now converted to a canonical format so that different"},{"line_number":5,"context_line":"    formats of IPv6 CIDRs provided as an input can be handled effectively."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"bff0334d_a98293fe","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":74},"updated":"2017-04-12 00:31:44.000000000","message":"IPv6 CIDRs are converted to canonical format to support multiple formats IPv6 CIRDs","commit_id":"5d79395ba9fed2045b6c4007a809a2cf8793609d"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"7dedbc29f664dae3a28bf03fe169b80bee0f0f7d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IPv6 CIDRs are converted to canonical format to support multiple formats IPv6 CIDRs."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"bff0334d_4fd8a7ed","line":4,"updated":"2017-04-12 02:37:46.000000000","message":"This release note is a little misleading. IPv6 CIDRs aren\u0027t automatically converted, this just adds a converter function that can be used to convert them. Projects would actually have to use it to convert CIDRs.","commit_id":"de7aedbe6d50b5128be69b9a355c388e65a847aa"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"d5e7375376af31d6fa16f2b0e07663a27934cf96","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IPv6 CIDRs are converted to canonical format to support multiple formats IPv6 CIDRs."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"bff0334d_54483a2b","line":4,"updated":"2017-04-12 01:24:33.000000000","message":"of","commit_id":"de7aedbe6d50b5128be69b9a355c388e65a847aa"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"9c3146e6758f9145a402dac03c686949911aa68b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    IPv6 CIDRs are converted to canonical format to support multiple formats IPv6 CIDRs."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9ff52f3f_1fa983de","line":4,"in_reply_to":"bff0334d_4fd8a7ed","updated":"2017-04-12 21:32:56.000000000","message":"Right - good point....","commit_id":"de7aedbe6d50b5128be69b9a355c388e65a847aa"}]}
