2020.3 - 3 July 2020

FIX: a 64-bit process may crash on loading a DLL.

2020.2 - 11 May 2020

FIX: a process crashed on loading a DLL of a virtual file on Windows 10 version 2004.

2020.1 - 24 January 2020

FIX: 64-bit applications might crash if they used custom virtual directories.

2019.5 - 15 July 2019

FIX: a process might fail to create a real registry key.

2019.4 - 19 June 2019

FIX: virtual keys might be handled incorrectly in some cases.

2019.3 - 24 April 2019

FIX: added missed header file BoxedApp_Interfaces.h

2019.2 - 27 March 2019

FIX: virtual processes might crash.

2019.1 - 5 February 2019

FIX: GetFinalPathNameByHandle() failed for virtual files located on virtual drive.

2018.9 - 2 December 2018

ADD: readonly registry layer.

2018.8 - 21 November 2018

FIX: if virtual value was added to real key, real values of the key were hidden from the application.

2018.7 - 29 October 2018

ADD: Added BoxedAppSDK_CreateVirtualDirectory to BoxedAppSDK.Managed.Dll.
FIX: .Net runtime failed to enumerate types via reflection in BoxedAppSDK.Managed.Dll.
FIX: NtQueryKey might return incorrect status for small buffers.
FIX: virtual files didn't support NtQueryInformationFile / FileNormalizedNameInformation.
FIX: a process failed to get full path of a registry key if it is too long.

2018.6 - 3 July 2018

FIX: virtual .net executables might hang at startup on Windows XP.
FIX: a C++ application built by Visual Studio with the option "/guard:cf" (Control Flow Guard is enabled)
     may randomly crash if the application is linked with a BoxedApp SDK static library.

2018.5 - 29 June 2018

FIX: GetModuleFileName() may return incorrect path for main module in a virtual process.

2018.4 - 27 June 2018

FIX: fixed possible crashes if long paths are used.

2018.3 - 9 June 2018

FIX: a virtual process might crash.
FIX: listing the files in a directory failed if the mode "all changes are virtual" was enabled.

2018.2 - 9 April 2018

ADD: optimized virtual registry.

2018.1 - 5 February 2018

ADD: added hook of new ntdll.dll!NtQueryDirectoryFileEx.
FIX: some applications might fail to enumerate virtual files on Windows 10 1709 build 17063.1000 or later builds.

2017.20 - 12 December 2017

FIX: virtual ffmpeg.exe crashed.
FIX: fixed memory protection flags for some unusual PE sections' characteristics.

2017.19 - 11 December 2017

FIX: some virtual processes might fail to start.

2017.18 - 8 December 2017

FIX: failed to run some virtual processes of executables that had relocations.
FIX: failed to run virtual processes of executables created by Confuser if x86 mode was enabled.

2017.17 - 30 November 2017

FIX: if a PE section's characteristics had both IMAGE_SCN_CNT_UNINITIALIZED_DATA and IMAGE_SCN_CNT_INITIALIZED_DATA,
     BoxedApp filled it by zero.

2017.16 - 8 November 2017

FIX: registry key enumeration might take a lot of time in some scenarios.
FIX: file renaming (MoveFile, ReplaceFile) might fail on Windows 10 build 1709.

2017.15 - 24 October 2017

FIX: BoxedAppSDK_HookFunction() might install hook incorrectly for some functions.
FIX: a process might crash after BoxedApp SDK initialization on Windows 10 update 1709.

2017.14 - 21 September 2017

FIX: cuInit() (CUDA API) failed sometimes if BoxedApp SDK was initialized.
ADD: added BxIlMerge sample that shows how to merge unmanaged DLLs and other files into
     a managed assembly: like ilmerge.exe but for unmanaged and other files.

2017.13 - 29 June 2017

ADD: thread local memory pools improved BoxedApp speed.

2017.12 - 28 June 2017

FIX: if 32-bit / 64-bit .net application uses BoxedApp SDK via BoxedAppSDK.Managed.Dll, then
     64-bit / 32-bit virtual process can't be launched even if bxsdk32.dll and bxsdk64.dll
     are available.
ADD: improved NtQueryKey implementation.

2017.11 - 20 June 2017

FIX: virtual mixed mode .net executable crashed.

2017.10 - 14 June 2017

FIX: auto closing handle of encrypted video file in the sample of encrypted video playing.
ADD: BoxedAppSDK_Exit() does nothing as it's not safe.

2017.9 - 12 June 2017

FIX: NtQueryVirtualMemory might be called incorrectly for some information class.
FIX: Returning status STATUS_OBJECT_NAME_INVALID instead of wrong STATUS_OBJECT_PATH_SYNTAX_BAD from Nt*** functions.
FIX: NtQueryVirtualMemory handles addresses that belong to virtual processes.
FIX: virtualized 32-bit Chrome crashed.

2017.8 - 5 June 2017

FIX: virtual COM components that use COM surrogate processes might crash.
FIX: virtual executable might fail to write to stdout.
FIX: fixed leaks of commited memory causes by incorrect releasing of memory by virtual sections are mapped views.

2017.7 - 6 March 2017

FIX: AllocConsole() failed in non-console virtual process.
FIX: virtual executables with TLS data might crash.

2017.6 - 21 February 2017

FIX: some virtual .net applications (e.g. Paint.Net) may hang on exit for some time.
ADD: Added BoxedAppSDK_InitById() to .Net interface.

2017.5 - 9 February 2017

FIX: in some cases created log is empty.

2017.4 - 8 February 2017

FIX: in some cases shared memory might be initialized not properly for a child process.
ADD: improved logging.

2017.3 - 26 January 2017

FIX: BoxedApp SDK crashes on Win 7 if Symantec End Point Protection is installed and
     when Symantec End Point Protection's General Exploit Mitigation feature is enabled.

2017.2 - 25 January 2017

ADD: the function BoxedAppSDK_DeleteFileFromVirtualFileSystem is added to .Net interface (BoxedAppSDK.Managed.dll).
FIX: if more than 64 TLS slots were allocated before a call of BoxedAppSDK_Init, the process
     might crash.

2017.1 - 12 January 2017

FIX: RegEnumValue() might unexpectedly return ERROR_NO_MORE_ITEMS for virtual key.

3.3.32 - 22 December 2016

FIX: sources are compatible with VS 2015.

3.3.31 - 21 December 2016

FIX: hooked ntdll.dll!NtMapViewOfSectionEx, some applications might crash without it.

3.3.30 - 15 November 2016

FIX: NtQueryDirectoryFile / FileReparsePointInformation might crash.

3.3.29 - 9 November 2016

FIX: sometimes BoxedApp incorrectly calculated offsets for views of virtual sections.

3.3.28 - 26 October 2016

ADD: improved mapping large virtual files: the data is read from the virtual file to a view,
     when one tries to read the data first time.

3.3.27 - 20 October 2016

ADD: improved C# sample Sample8_PlayEncryptedVideo: improved caching.

FIX: boxedapp read all data from virtual file when a section was created, now data is read when the
     section is being mapped. It's very important optimization for large virtual files.

3.3.26 - 6 October 2016

ADD: improved C# sample Sample8_PlayEncryptedVideo: added cache, logging, improved UI experience.

3.3.25 - 17 September 2016

FIX: RegEnumValue() might unexpectedly return ERROR_NO_MORE_ITEMS for virtual key.

3.3.24 - 8 September 2016

ADD: full version includes PDB files.

3.3.23 - 5 September 2016

FIX: fixed handles leak.

3.3.22 - 9 August 2016

FIX: .Net samples couldn't be built because of missed BoxedAppSDK.Managed.Dll.

3.3.21 - 1 August 2016

ADD: added BoxedAppSDK_ExecuteDotNetApplication to a .net interface for BoxedApp SDK (BoxedAppSDK.Managed.Dll).

3.3.20 - 22 July 2016

FIX: if a real file was opened with flags DELETE / FILE_DELETE_ON_CLOSE, and mode "all changes are virtual" was enabled,
     then closing the handle removed the file from real file system, instead of marking it as "virtually deleted".
     It is fixed.
ADD: C# / VB.Net samples show how to implement Stat() for custom virtual file.

3.3.19 - 15 July 2016

FIX: IE might hang being launched under BoxedApp.
FIX: IE8 might not load an URL properly on Win7 x64.

3.3.18 - 21 June 2016

FIX: virtual DLLs might crash if large aware address enabled for the process.

3.3.17 - 10 June 2016

ADD: signed binaries.

3.3.16 - 4 May 2016

FIX: virtualization of command line for virtual processes.

3.3.15 - 2 May 2016

ADD: .Net samples use BoxedAppSDK.Managed.Dll; they don't need bxsdk32.dll and bxsdk64.dll.

3.3.14 - 8 April 2016

FIX: if PAGE_WRITECOPY or PAGE_EXECUTE_WRITECOPY was specified in CreateFileMapping, BoxedApp still
     wrote updated memory back to the file

3.3.13 - 7 April 2016

FIX: virtual executables made by Max (a CYCLING '74 product) might crash.

3.3.12 - 31 March 2016

FIX: CreateProcessWithLogonW may fail for virtual executables.

3.3.11 - 23 March 2016

FIX: CreateProcessAsUserW may fail on Win10 for virtual executable.
ADD: CreateProcessWithLogonW and CreateProcessWithTokenW are supported for virtual executables.
ADD: speed optimizations

3.3.10 - 20 January 2016

FIX: virtual exe may fail to launch with some stubs.

3.3.9 - 14 January 2016

FIX: corrected storing and returning of file handle flags ('inherited' and 'protect from close').
FIX: virtual exe built using the atom/electron framework may fail to launch.

3.3.8 - 13 January 2016

FIX: virtual AnyCpu .Net exe failed to launch on Win10 x64

3.3.7 - 11 January 2016

FIX: x64 (or AnyCpu on x64 system) .net exe failed to launch virtual x64 .net exe (or AnyCpu on x64 system)
     if BoxedAppSDK.Managed.Dll is being used

3.3.6 - 11 January 2016

FIX: virtual .net exe built as AnyCpu may crash for some values of stack reserve in the PE headers
FIX: virtual exe that contains TLS directory may crash if a DLL with tls data was preloaded into the process (e.g. system extensions)
FIX: a process might crash when tried to access to a virtual file located on a network location

3.3.5.31 - 15 October 2015

FIX: virtual exe that contains TLS directory may crash on Win 8.1

3.3.5.30 - 8 September 2015

ADD: BoxedAppSDK_SetBxSdk32DllPath and BoxedAppSDK_SetBxSdk64DllPath available via .Net wrapper (BoxedAppSDK.Managed.dll)

3.3.5.29 - 4 September 2015

FIX: now if virtual .Net exe is built as AnyCpu it is running as 64 bit process on Windows x64, previously such .net exe files were launched as 32 bit processes

3.3.5.28 - 31 August 2015

FIX: virtual exe that contains TLS directory may crash on Win10
FIX: crash on Win10 during loading (LoadLibrary) of some virtual DLLs (msvcr100.dll is one of such DLLs)
FIX: sometimes BoxedApp crashes on file enumeration (found during testing of IE with BoxedApp)
FIX: sometimes BoxedApp crashes when NtNotifyChangeDirectory is called (found during testing of IE with BoxedApp)
FIX: Office 365 applications crashed being attached to BoxedApp
FIX: PowerPoint 2013 hangs on Win 10 being attached to BoxedApp

3.3.5.27 - 21 July 2015

FIX: BoxedApp didn't allow to load 32 bit DLL into a 64 bit process
FIX: completion ports associated with virtual file handles might be notified incorrectly
FIX: virtual files can be created incorrectly on some network locations

3.3.5.26 - 10 July 2015

FIX: virtual files were created incorrectly on Parallels 9
FIX: BoxedAppSDK_Exit crashed
ADD: "static" version of BoxedApp SDK for .Net, now it's possible to create a single .Net executable that uses BoxedApp SDK
FIX: even if a DLL was loaded at preferred image base, BoxedApp returned a status that forced applying relocations
