{
    "content": [
        {
            "type": "text",
            "text": "# perl5144delta (man)\n\n## NAME\n\nperl5144delta - what is new for perl v5.14.4\n\n## DESCRIPTION\n\nThis document describes differences between the 5.14.3 release and the 5.14.4 release.\n\n## Sections\n\n- **NAME**\n- **DESCRIPTION** (1 subsections)\n- **Security** (5 subsections)\n- **Deprecations** (4 subsections)\n- **Documentation** (2 subsections)\n- **Diagnostics** (8 subsections)\n- **Acknowledgements** (1 subsections)\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "perl5144delta",
        "section": "",
        "mode": "man",
        "summary": "perl5144delta - what is new for perl v5.14.4",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 5,
                "subsections": [
                    {
                        "name": "Core Enhancements",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "Security",
                "lines": 4,
                "subsections": [
                    {
                        "name": "CVE-2013-1667: memory exhaustion with arbitrary hash keys",
                        "lines": 6
                    },
                    {
                        "name": "memory leak in Encode",
                        "lines": 12
                    },
                    {
                        "name": "off-by-two error in List::Util",
                        "lines": 17
                    },
                    {
                        "name": "wrap-around with IO on long strings",
                        "lines": 5
                    },
                    {
                        "name": "Incompatible Changes",
                        "lines": 3
                    }
                ]
            },
            {
                "name": "Deprecations",
                "lines": 2,
                "subsections": [
                    {
                        "name": "Modules and Pragmata",
                        "lines": 1
                    },
                    {
                        "name": "New Modules and Pragmata",
                        "lines": 2
                    },
                    {
                        "name": "Updated Modules and Pragmata",
                        "lines": 11
                    },
                    {
                        "name": "Removed Modules and Pragmata",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "Documentation",
                "lines": 1,
                "subsections": [
                    {
                        "name": "New Documentation",
                        "lines": 2
                    },
                    {
                        "name": "Changes to Existing Documentation",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "Diagnostics",
                "lines": 2,
                "subsections": [
                    {
                        "name": "Utility Changes",
                        "lines": 2
                    },
                    {
                        "name": "Configuration and Compilation",
                        "lines": 2
                    },
                    {
                        "name": "Platform Support",
                        "lines": 1
                    },
                    {
                        "name": "New Platforms",
                        "lines": 2
                    },
                    {
                        "name": "Discontinued Platforms",
                        "lines": 2
                    },
                    {
                        "name": "Platform-Specific Notes",
                        "lines": 4
                    },
                    {
                        "name": "Selected Bug Fixes",
                        "lines": 5
                    },
                    {
                        "name": "Known Problems",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "Acknowledgements",
                "lines": 18,
                "subsections": [
                    {
                        "name": "Reporting Bugs",
                        "lines": 17
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 11,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "perl5144delta - what is new for perl v5.14.4\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This document describes differences between the 5.14.3 release and the 5.14.4 release.\n\nIf you are upgrading from an earlier release such as 5.12.0, first read perl5140delta, which\ndescribes differences between 5.12.0 and 5.14.0.\n",
                "subsections": [
                    {
                        "name": "Core Enhancements",
                        "content": "No changes since 5.14.0.\n"
                    }
                ]
            },
            "Security": {
                "content": "This release contains one major, and medium, and a number of minor security fixes.  The\nlatter are included mainly to allow the test suite to pass cleanly with the clang compiler's\naddress sanitizer facility.\n",
                "subsections": [
                    {
                        "name": "CVE-2013-1667: memory exhaustion with arbitrary hash keys",
                        "content": "With a carefully crafted set of hash keys (for example arguments on a URL), it is possible to\ncause a hash to consume a large amount of memory and CPU, and thus possibly to achieve a\nDenial-of-Service.\n\nThis problem has been fixed.\n"
                    },
                    {
                        "name": "memory leak in Encode",
                        "content": "The UTF-8 encoding implementation in Encode.xs had a memory leak which has been fixed.\n\n[perl #111594] Socket::unpacksockaddrun heap-buffer-overflow\nA read buffer overflow could occur when copying \"sockaddr\" buffers.  Fairly harmless.\n\nThis problem has been fixed.\n\n[perl #111586] SDBMFile: fix off-by-one access to global \".dir\"\nAn extra byte was being copied for some string literals. Fairly harmless.\n\nThis problem has been fixed.\n"
                    },
                    {
                        "name": "off-by-two error in List::Util",
                        "content": "A string literal was being used that included two bytes beyond the end of the string. Fairly\nharmless.\n\nThis problem has been fixed.\n\n[perl #115994] fix segv in regcomp.c:Sjoinexact()\nUnder debugging builds, while marking optimised-out regex nodes as type \"OPTIMIZED\", it could\ntreat blocks of exact text as if they were nodes, and thus SEGV. Fairly harmless.\n\nThis problem has been fixed.\n\n[perl #115992] PLevalstart use-after-free\nThe statement \"local $[;\", when preceded by an \"eval\", and when not part of an assignment,\ncould crash. Fairly harmless.\n\nThis problem has been fixed.\n"
                    },
                    {
                        "name": "wrap-around with IO on long strings",
                        "content": "Reading or writing strings greater than 231 bytes in size could segfault due to integer\nwraparound.\n\nThis problem has been fixed.\n"
                    },
                    {
                        "name": "Incompatible Changes",
                        "content": "There are no changes intentionally incompatible with 5.14.0. If any exist, they are bugs and\nreports are welcome.\n"
                    }
                ]
            },
            "Deprecations": {
                "content": "There have been no deprecations since 5.14.0.\n",
                "subsections": [
                    {
                        "name": "Modules and Pragmata",
                        "content": ""
                    },
                    {
                        "name": "New Modules and Pragmata",
                        "content": "None\n"
                    },
                    {
                        "name": "Updated Modules and Pragmata",
                        "content": "The following modules have just the minor code fixes as listed above in \"Security\" (version\nnumbers have not changed):\n\nSocket\nSDBMFile\nList::Util\n\nEncode has been upgraded from version 2.4201 to version 2.4202.\n\nModule::CoreList has been updated to version 2.4906 to add data for this release.\n"
                    },
                    {
                        "name": "Removed Modules and Pragmata",
                        "content": "None.\n"
                    }
                ]
            },
            "Documentation": {
                "content": "",
                "subsections": [
                    {
                        "name": "New Documentation",
                        "content": "None.\n"
                    },
                    {
                        "name": "Changes to Existing Documentation",
                        "content": "None.\n"
                    }
                ]
            },
            "Diagnostics": {
                "content": "No new or changed diagnostics.\n",
                "subsections": [
                    {
                        "name": "Utility Changes",
                        "content": "None\n"
                    },
                    {
                        "name": "Configuration and Compilation",
                        "content": "No changes.\n"
                    },
                    {
                        "name": "Platform Support",
                        "content": ""
                    },
                    {
                        "name": "New Platforms",
                        "content": "None.\n"
                    },
                    {
                        "name": "Discontinued Platforms",
                        "content": "None.\n"
                    },
                    {
                        "name": "Platform-Specific Notes",
                        "content": "VMS 5.14.3 failed to compile on VMS due to incomplete application of a patch series that\nallowed \"userelocatableinc\" and \"usesitecustomize\" to be used simultaneously.  Other\nplatforms were not affected and the problem has now been corrected.\n"
                    },
                    {
                        "name": "Selected Bug Fixes",
                        "content": "•   In Perl 5.14.0, \"$tainted ~~ @array\" stopped working properly.  Sometimes it would\nerroneously fail (when $tainted contained a string that occurs in the array after the\nfirst element) or erroneously succeed (when \"undef\" occurred after the first element)\n[perl #93590].\n"
                    },
                    {
                        "name": "Known Problems",
                        "content": "None.\n"
                    }
                ]
            },
            "Acknowledgements": {
                "content": "Perl 5.14.4 represents approximately 5 months of development since Perl 5.14.3 and contains\napproximately 1,700 lines of changes across 49 files from 12 authors.\n\nPerl continues to flourish into its third decade thanks to a vibrant community of users and\ndevelopers. The following people are known to have contributed the improvements that became\nPerl 5.14.4:\n\nAndy Dougherty, Chris 'BinGOs' Williams, Christian Hansen, Craig A. Berry, Dave Rolsky, David\nMitchell, Dominic Hargreaves, Father Chrysostomos, Florian Ragwitz, Reini Urban, Ricardo\nSignes, Yves Orton.\n\nThe list above is almost certainly incomplete as it is automatically generated from version\ncontrol history. In particular, it does not include the names of the (very much appreciated)\ncontributors who reported issues to the Perl bug tracker.\n\nFor a more complete list of all of Perl's historical contributors, please see the AUTHORS\nfile in the Perl source distribution.\n",
                "subsections": [
                    {
                        "name": "Reporting Bugs",
                        "content": "If you find what you think is a bug, you might check the articles recently posted to the\ncomp.lang.perl.misc newsgroup and the perl bug database at http://rt.perl.org/perlbug/ .\nThere may also be information at http://www.perl.org/ , the Perl Home Page.\n\nIf you believe you have an unreported bug, please run the perlbug program included with your\nrelease.  Be sure to trim your bug down to a tiny but sufficient test case.  Your bug report,\nalong with the output of \"perl -V\", will be sent off to perlbug@perl.org to be analysed by\nthe Perl porting team.\n\nIf the bug you are reporting has security implications, which make it inappropriate to send\nto a publicly archived mailing list, then please send it to perl5-security-report@perl.org.\nThis points to a closed subscription unarchived mailing list, which includes all the core\ncommitters, who be able to help assess the impact of issues, figure out a resolution, and\nhelp co-ordinate the release of patches to mitigate or fix the problem across all platforms\non which Perl is supported. Please only use this address for security issues in the Perl\ncore, not for modules independently distributed on CPAN.\n"
                    }
                ]
            },
            "SEE ALSO": {
                "content": "The Changes file for an explanation of how to view exhaustive details on what changed.\n\nThe INSTALL file for how to build Perl.\n\nThe README file for general stuff.\n\nThe Artistic and Copying files for copyright information.\n\n\n\nperl v5.34.0                                 2025-07-25                             PERL5144DELTA(1)",
                "subsections": []
            }
        }
    }
}