Revision history for File-Map

0.71      2023-04-10 14:18:43+02:00 Europe/Amsterdam
          - Check layers before statting
          - Split out mmap-compat.c

0.70      2023-04-02 22:27:45+02:00 Europe/Amsterdam
          - Fix backwards compatability issue

0.69      2023-04-02 22:07:56+02:00 Europe/Amsterdam
          - Move almost all code from .pm file into .xs file

0.68      2023-03-25 10:32:11+01:00 Europe/Amsterdam
          - Re-eliminate second magic vtable
          - Eliminate all CODE blocks in XS

0.67      2020-06-26 00:26:54+02:00 Europe/Amsterdam
          - Fix unresolved symbol "madvise" on QNX NTO
          - Fix regression that could cause empty maps to crash upon reuse.

0.66      2018-12-18 16:57:58+01:00 Europe/Amsterdam
          - Warn when buffer gets truncated

0.65      2017-10-30 13:37:57+01:00 Europe/Amsterdam
          - Fix mapping into a hash element
          - Fix compilation warning by giving boot function a proper return type
          - Take into account sleep 0.1 may sleep a little less

0.64      2015-07-13 12:50:12+02:00 Europe/Amsterdam
          Fix segfault in empty mappings
          Skip tainting tests on non-tainting perls

0.63      2014-09-12 18:27:17+02:00 Europe/Amsterdam
          Fix error message on unknown protect mode

0.62      2014-08-16 14:34:48+02:00 Europe/Amsterdam
          Reuse perl's reentrant API
          Skip setlocale on android

0.61      2013-10-04 21:36:19 Europe/Amsterdam
          Improve 64 bit pointer logic on Windows

0.60      2013-08-11 01:20:06 Europe/Amsterdam
          Upgrade dependency to Test::Warnings 0.005

0.59      2013-08-09 11:04:45 Europe/Amsterdam
          Explicitly depend on Test::Warnings 0.004

0.58      2013-08-08 23:18:15 Europe/Amsterdam
          Converted from Test::Exception to Test::Fatal
          Converted Test::Warn and Test::NoWarnings to Test::Warnings

0.57      2013-05-25 23:48:07 Europe/Amsterdam
          Use correct maximum length on 64-bit Windows
          Re-add perl version suggestions

0.56      2012-12-20 23:49:14 Europe/Amsterdam
          Don't run threading tests with tainting #82017
          Actually use ppport.h #82017

0.55      2012-12-14 14:04:49 Europe/Amsterdam
          Fix SV_CHECK_THINKFIRST_COW_DROP on 5.8.x

0.54      2012-12-13 23:47:47 Europe/Amsterdam
          Deal better with copy-on-write
          Remove Const::Fast dependency

0.53      2012-11-07 11:45:09 Europe/Amsterdam
          Switch to Sub::Exporter::Progressive
          Moved protection flags into XS

0.52      2012-07-17 18:10:48 Europe/Bucharest
          It's called HAS_STRERROR_R and not HAVE_STRERROR_R
          Make sure pTHX is available for sterror (5.8.7 compatibility)

0.51      2012-06-13 21:06:41 Europe/Amsterdam
          Remove threads.pm from dependencies
          Disable pin and unpin on VMS
          Enable compilation with -Werror=format-security

0.50      2012-05-01 22:37:41 Europe/Amsterdam
          Fix building on threadless Linux

0.49      2012-04-26 00:06:36 Europe/Amsterdam
          Revert to old error code on Windows

0.48      2012-04-23 02:27:01 Europe/Amsterdam
          Fix madvice on old cygwin versions
          Made strerror_r/strerror_s usage more robust

0.47      2012-04-04 23:17:55 Europe/Amsterdam
          Restore fileno in sys_map; this fixes #76253: non-anonymous sys_map was useable since e102d034
          Switch to using PodWeaver

0.46      2012-02-26 17:59:33 Europe/Amsterdam
          Fix madvise on cygwin
          Disable advise on VMS
          Add mergeable and unmergeable advices for Linux

0.45      2012-02-22 20:17:29 Europe/Amsterdam
          Replace round() by floor() + 0.5. The former is C99, the latter in C89...
          Test a bit more leniently on perl 5.8.7

0.44      2012-01-27 14:27:27 Europe/Amsterdam
          Fixed use of BITS32_MASK on Windows

0.43      2012-01-27 12:42:27 Europe/Amsterdam
          Upgrade utf8 mappings before marking them as readonly (fixes #74436)

0.42      2012-01-24 23:24:29 Europe/Amsterdam
          Redone offset handling to be more 32bit compatible
          Add large file support on Windows

0.41      2012-01-14 13:14:23 Europe/Amsterdam
          Fixed bug on Windows when using offsets

0.40      2011-10-24 20:41:19 Europe/Amsterdam
          Made STDOUT test more portable
          Remove all mentioning of VMS

0.39      2011-10-17 21:57:47 Europe/Amsterdam 
          Converted module to Dist::Zilla
          Fixed various issues in unit tests

0.38    2011-08-21
        Taint memory maps when tainting mode is on (fixes RT#68787)
        Explicitly test error messages in "C" locale
        Give better errors on mapping zero length nonfiles
        Handle SV-flags more intelligently

0.37    2011-05-02
        Fixed permission in remap test
        Silenced warnings on modern Test::More's

0.36    2011-01-26
        Fixed tests on Windows and on perl < 5.8.7

0.35    2011-01-16
        Added proper support for PerlIO layers, in order to:
         * reliably detect crlf transformations
         * detect and handle utf8 layers
        Use sterror instead of strerror_r when the latter isn't available

0.34    2010-12-04
        Skip remap tests as soon as possible, to avoid failures on non-Linux
        Fixed anonymous mapping on Windows
        Fixed warning on perl < 5.8.8

0.33    2010-12-01
        Made remap actually useful (will now try to move the map if necesary)
        Added tests for remap
        Made code C89 compliant again
        Fixed minor issues with strerror_r
        Added Test::NoWarnings to tests

0.32    2010-11-09
        Skip localization test when localization is not availible
        Reject scalar string handles

0.31    2010-09-20
        Only add MGf_local to mg_flags if MGf_local is defined (5.8.9 and up)
        Fix memory leak in empty maps (found by Test::Valgrind)

0.30    2010-09-13
        Fixed regression in mmap_info allocation on Win32 introduced by 0.28
        Replaced Readonly by Const::Fast
        Replaced Exporter by Sub::Exporter
        Handle undefined assignment more cleanly
        Throw an exception on localization
        Demoted exception on non-binary handles a warning, added tests and documentation for this

0.29    2010-08-25
        More fixing related to RT#60710

0.28    2010-08-25
        Made truncation warning do the right thing, unbreaking it on 5.13.3+ (fixes RT#60710)
        Allocate mmap_info in a thread safe manner, preventing a weird class of bugs.
        Removed threads.pm from dependency list (fixes RT#60708)
        Fixed length wrap around bug (RT#56643)
        Added an example: fastsearch
        Suggest to use 5.12 for less buggy behavior on large strings

0.27    2010-04-25
        Allow crlf as a binary layer for now, until a proper check has been developed

0.26    2010-04-20
        Fixed RT#56644 (mmap turning ref into map)
        Fixed RT#56645 (mmap on hash or array entry)
        Fixed RT#56649 (negative offset segv)
        Made offset an UV, eleviating RT#56646 a little

0.25    2010-04-15
        Fixed regression in unit tests on Windows
        Minor documentation fixes

0.24    2010-04-12
        *Removed almost all prototypes*
        Made code C89 compliant to support MS VC++ (Jan Dubois)
        Throw an exception if non-binary PerlIO layers are used.
        Documentation updates
        Added tests for unicode
        Possibly fix a warning on readonly variables

0.23    2010-02-14
        Blocked remap from remapping when a variable is shared among threads
        Disabled madvise on cygwin
        Fixed a compilation issue wrt VirtualProtect on Win32
        Made PROT_NONE test more portable

0.22    2010-01-29
        Made the protect unit tests portable to BSD
        Fixed a portability issue with Win32

0.21    2010-01-09
        Added protect()
        Made mapping empty files writably more user-friendly

0.20    2009-12-18
        Added support for pseudo-mapping empty files
        Hopefully made File::Map Cygwin compatible

0.19    2009-11-08
        Handle reference assignment properly
        Fixed bug in unthreaded builds

0.18    2009-10-25
        Fixed previous bug further

0.17    2009-10-25
        Fixed bug in direct assignment of numbers
        Demoted incorrect advice exception to a warning
        Rewrote constant declarations

0.16    2009-06-17
        Fixed compilation bug in die_sys
        Returned to passthrough Makefile, traditional is too broken

0.15    2009-06-10
        Made all functions return void
        Replaced a magical value with a variable
        Made error handling more robust
        Made the compatibility Makefile 'traditional'

0.14    2009-04-12
		Module rename from Sys-Mmap-Simple to File-Map
		Major API break on locking functions

0.13    2009-02-14
        API break: renamed conditional functions, lowercased export tags

0.12    2009-02-06
        Documentation updates

0.11    2009-02-04
        Fixed 2 Bohr bugs in unit tests

0.10    2009-01-30
        Added sys_map, for advanced functionality.
        Fixed regression on Windows

0.09    2009-01-28
        Added offset support
        Fixed memory leak when throwing an exception on Windows
        Added unit tests for failures

0.08    2009-01-21
        Hopefully fixed false negatives in t/20-threads
        Added license information to all source files

0.07    2009-01-15
        API break: Changed last argument of map_handle and map_file from boolean to mode
        Added second argument to sync for synchronous or asynchronous flushing.
        Fixed bug that led to linking error on some platforms on older perl versions
        Refactored derefing
        Improved documentation markup

0.06    2009-01-12
        Made tests work with older versions of threads.
        Added documentation

0.05    2009-01-09
        Fixed previous fix

0.04    2009-01-09
        Fixed windows support

0.03_5  2009-01-08
        Fixed race conditions
        Increased portability

0.03_4  2009-01-07
        Fixed testing

0.03_3	2009-01-07
        Added remap on Linux
        Added Windows support

0.03_2  2009-01-06
        Improved portability
        Addition of condition variable functionality
        Documentation updates

0.03_1  2008-12-21
        Improved portability

0.02    2008-12-20
        Added locked
        Improved diagnostics.
        Fixed documentation.

0.01    2008-12-19
        First version, released on an unsuspecting world.