Revision history for Perl extension Readonly. 2.01 2016-02-24T16:01:12Z - Disallow initialization of Readonly variables by assignment allowed by Perl prototype changes in v5.16. Assignment initialization of scalars sets scalar variables to undef and lists and hashes initialized by assignment are not read only. 2.00 2014-06-30T11:15:05Z - Deprecation of Readonly::XS as a requirement for fast, readonly scalars is complete. Report any lingering issues on the tracker ASAP. 1.61 2014-06-28T11:22:13Z - Normal constants (strings, numbers) do not appear to be read only to Internals::SvREADONLY($) but perl itself doesn't miss a beat when you attempt to assign a value to them. Fixing test regression in t/general/reassign.t 1.60 2014-06-27T15:59:27Z - Fix array and hash tie() while in XS mode (exposed by Params::Validate tests) - Fix implicit undef value regression resolves #8 - Minor documentation fixes (spell check, etc.) - Patch from Gregor Herrmann <firstname.lastname@example.org> resolves #7 v1.500.0 2014-06-25T19:56:18Z - PLEASE NOTE: Readonly::XS is no longer needed! - Again, Readonly::XS is no longer needed. - Merged typo fix from David Steinbrunner RT#86350/#2 - Merged patch (w/ tests, yay!) from Daniel P. Risse RT#37864 - Upstream magic related bugs were reported to p5p and fixed in perl itself so we can resolve the following local issues: RT#70167, RT#57382, RT#29487, RT#36653, RT#24216. - Reported RT#120122 (tie + smartmatch bug) upstream to p5p. Will eventually resolve local [RT#59256]. - Note: Resolved RT#16167 (benchmark.pl being installed) in 1.04. - Use readonly support exposed in Internals on perl >=5.8.x - Have I mentioned you don't need to install Readonly::XS anymore? - Checking $Readonly::XSokay is no longer suggested. ...never should have been 1.04 2013-11-26T01:20:38Z - Module now maintained by Sanko Robinson. Please see TODO for a possible set of changes to this module that may effect code written for old, pre- perl 5.14.0 platforms!!! 1.03 2004 April 20 - Changed the prototype for Readonly, to make the usage cleaner. Unfortunately, this breaks backwards-compatability for this function. Users of this function who have Perl 5.8 or later will have to change their source code. Also, users of this function who upgrade to perl 5.8+ will have to change their usage. Having discussed this feature change with a number of people, I felt that breaking compatability was worth the gain in simplicity of usage. (Thanks to Damian Conway for the suggestion). - Removed "use warnings" so the module will work in perl 5.005. 1.02 2003 May 13 - If Readonly::XS is installed, Readonly will use it for making scalars read-only. - Callers are now forbidden to tie variables directly. This prevents sneaky callers from reassigning a variable via tie. - Error messages have been changed to be more like Perl's own "Modification of a read-only value attempted at..." - Catch and return an error if user tries to pass a constant to Readonly::Scalar (eg Readonly::Scalar 'hello', 'goodbye') - Include a simple benchmark script. - Add a few more test cases. You can never have too many. - Add a simple benchmark program. 1.01 2003 February 14 - Add some checking to prevent reassignment of Readonly variables. - Changed my email address in the docs. 1.00 2003 January 7 - No code changes. No bugs or suggestions have been reported for six months, so the version number is changing to 1.00. 0.07 2002 June 25 - Clean up the code somewhat; remove redundancies; delay loading Carp.pm until it's needed. - Fixed the list of EXPORT_OK symbols. 0.06 2002 June 16 - Add Readonly function, to provide a unified (and shorter) way to create readonly variables. (Thanks to Slaven Rezic for the idea). - Scalar, Array, and Hash now mark entire data structures as Readonly. Added Scalar1, Array1, and Hash1 for shallow Readonly protection. (Thanks to Ernest Lergon for the idea). - Switch to Test::More and Test::Harness. 134 tests now! 0.05 2002 March 15 - Change name from Constant.pm to Readonly.pm, due to file naming conflict under Windows. - Changed docs to match. - Allow Readonly::Hash to accept a hash reference parameter. - Works better with older versions of Perl. - Add many, many test cases to test.pl. 0.04 2002 March 7 - Add top-level Scalar, Array, and Hash functions, so callers don't have to tie the variables themselves. 0.03 2001 September 9 - documentation changes only. 0.02 2001 September 9 - documentation changes only. 0.01 2001 August 30 - Constant.pm, original version.