premake/CHANGES.txt
2019-05-04 14:21:32 +02:00

496 lines
27 KiB
Plaintext

--------------------
5.0 (in progress)
--------------------
See https://github.com/premake/premake-core/wiki/What's-New-in-5.0
for the complete list of changes from the Premake 4.x series.
Since 5.0-alpha13:
* PR #1067 Add 'Default', 'Dwarf' and 'SplitDwarf' arguments to 'debugformat' (@ratzlaff)
* PR #1160 use ';' as default separator for vs (@WorldofBay)
* PR #1177 Enable property categories in VS projects (@WorldofBay)
* PR #1178 Avoid impl dependent multi-char constants (@cengizIO)
* PR #1179 fix `xcodebuildsettings` using false (@tempura-sukiyaki)
* PR #1180 Add `os.ios` option in xcode4 (@tempura-sukiyaki)
* PR #1181 Release 5.0 alpha13 (@premake)
* PR #1189 Host path.normalize: Fix normalization for paths containing tokens (@tdesveauxPKFX)
* PR #1191 Fix objname collisions (@ratzlaff)
* PR #1193 Add tests for xcode id generator (@ratzlaff)
* PR #1194 Move rule property string expansion into modules (@WorldofBay)
* PR #1197 Added missing elements in Visual Studio Makefile projects (@LORgames)
* PR #1202 Support %{file.name} token in VS (@Blizzard)
* PR #1203 Add support for JavaCompile in vsandroid (@tempura-sukiyaki)
* PR #1206 Updated code lite to properly add LD_LIBRARY_PATH is set if libdirs is set (@pintodragon)
* PR #1218 Add support & tests for XCTest sharedlibtype (@Dingobloo)
* PR #1220 Implement the androidapilevel() API in Android packaging projects (@ifarbod)
* PR #1221 add nil check to fileconfig.hasFileSetting (gmake) (@WorldofBay)
* PR #1224 add missing local (@WorldofBay)
* PR #1228 Added Win64 as a recognized platform (@LORgames)
* PR #1230 Removed excessive escaping in CodeLite generator (@LORgames)
* PR #1231 Fixed issue with per-configuration build commands not returning errors correctly (@LORgames)
* PR #1236 Added support for Dx12 shader models (@CosmicRey)
* PR #1239 Implemented the startproject option for xcode (@macsforme)
* PR #1240 allow linking of mixed c++ assemblies (@WorldofBay)
* PR #1244 Fixed issue with detoken not handling deferred joins correctly (@LORgames)
* PR #1247 Added support for `csversion` API to dotnet toolset. (@tritao)
* PR #1248 Default to Roslyn-based `csc` compiler on all platforms. (@tritao)
* PR #1249 do not clear _isIncludingExternal in nested calls (@WorldofBay)
* PR #1253 Xcode newid determinism (@ratzlaff)
* PR #1258 Added support for Visual Studio 2019 solutions (@CosmicRey)
* PR #1264 Android changes, stage 1 (#1263) (@ifarbod)
* PR #1266 Implement the 'visibility' API for Android projects (@ifarbod)
* PR #1267 Provide access to json implementation (@ratzlaff)
* PR #1276 Added support for forceincludes in CodeLite (@LORgames)
* PR #1278 Packaging script improvement (@tdesveauxPKFX)
Since 5.0-alpha12:
* PR #880 Allow tokens to start with a ! to disable making paths relative. (@Blizzard)
* PR #882 Allow filtering on host. (@Blizzard)
* PR #883 Added basic iOS support to XCode4 (@LORgames)
* PR #889 Fix context.mergeFilters (@tdesveaux)
* PR #897 Fix c(pp)dialect generating uppercase C(++)xx for Xcode, replace gnu99 with compiler-default (@hsandt)
* PR #902 VS fix for projects with multiple manifest files (@Blizzard)
* PR #913 Fix subtle bug in table.translate (@Blizzard)
* PR #919 Add perfile flags test for gmake backend. (@Blizzard)
* PR #920 small fix in self-test module. (@Blizzard)
* PR #921 Compiler warnings (@Blizzard)
* PR #922 gmake2 bug fix. When generating gmake file with pch headers (@Blizzard)
* PR #923 Add Visual Studio ARM64 support. (@Blizzard)
* PR #926 Fixes translateCommandsAndPaths, and debugargs. (@Blizzard)
* PR #927 bug fix for recursive token expansion (@Blizzard)
* PR #928 sometimes due to ordering of test, we're in a rule scope. (@Blizzard)
* PR #931 Added synchronous and C-Throw to VS projects. (@CreativeAssembly)
* PR #932 Added extra information for Windows platform when copyfile fails. (@pjohalloran)
* PR #938 Added `staticruntime` API. (#163) (@premake)
* PR #939 Resolve the rule properties for gmake (#162) (@premake)
* PR #941 Fix makefile PCH tab problem (@premake)
* PR #944 C++0x dialect support (@premake)
* PR #945 Natvis files have an item group. (@premake)
* PR #948 Fixed a bug in gmake2 with clang and pch. (@Gereld)
* PR #949 Added DPI awareness support to VS2010+ projects (@LORgames)
* PR #950 Added defaultplatform support to gmake and gmake2 actions (@LORgames)
* PR #952 Add support for `targetextension` in xcode4 (@tempura-sukiyaki)
* PR #957 fix gmake2 utility (@Blizzard)
* PR #958 fix context.addFilter (@Blizzard)
* PR #959 Multiple gmake2 fixes (@Blizzard)
* PR #960 Improve determinism in sln output. (@Blizzard)
* PR #961 add 64-bit support on windows (@Blizzard)
* PR #962 fix table.insertkeyed (@Blizzard)
* PR #964 Add support for wildcards in mapconfig. (@Blizzard)
* PR #965 Move part of the workspace baking up (@premake)
* PR #966 utility projects also allow configuration of the executable path. (@Blizzard)
* PR #967 return generated fileconfig. (@Blizzard)
* PR #969 Fix buildoutput pathvars (@Blizzard)
* PR #970 Table fix indexof (@Blizzard)
* PR #979 Define _HAS_EXCEPTIONS=0 from vs2010 for exceptionhandling off (@tdesveauxPKFX)
* PR #980 src/base and modules: change links to industriousone.com to working HTTPS github links (@catb0t)
* PR #988 Fixed a bug with normalizing paths that contain dot folders (@LORgames)
* PR #990 Extended Instructions sets (@tdesveauxPKFX)
* PR #993 Fix /usr/lib64 being used as search dir before project's libdir (@alexandre-janniaux)
* PR #994 added a 'latest' systemversion for vs2017 (@dcourtois)
* PR #1005 Fix gmake dependencies (@premake)
* PR #1011 Fixes an issue with custom rules tracking files. (@Dandielo)
* PR #1018 Added release info badges to the readme (@LORgames)
* PR #1019 Remove git submodule commands (@Passw)
* PR #1020 Embed luasocket, add mobdebug and --debugger command line option (@redorav)
* PR #1021 Clear additional global state between unit test runs (@starkos)
* PR #1023 Include library directories in Codelite projects (@Gaztin)
* PR #1029 Replace last global state block in api.reset (@starkos)
* PR #1030 Fix vstudio symbolspath (@tdesveauxPKFX)
* PR #1031 Fix gmake2 Makefile projects callArray (@tdesveauxPKFX)
* PR #1033 vstudio staticlib symbolspath (@tdesveauxPKFX)
* PR #1034 Add 'modules/android/' from premake-android (@LORgames)
* PR #1037 HLSL Shader compilation in Visual Studio (@tdesveauxPKFX)
* PR #1040 Get 'compileas' working when using a 'filter "files: ..."' scope. (@ratzlaff)
* PR #1041 Fleshed out CI builds (@LORgames)
* PR #1042 Add UnsignedChar API (@tdesveauxPKFX)
* PR #1043 Add omitframepointer API (@tdesveauxPKFX)
* PR #1044 Add Visibility API for gcc/clang toolsets (@tdesveauxPKFX)
* PR #1045 Add debuggerflavor API (@tdesveauxPKFX)
* PR #1046 Add structmemberalign API (@tdesveauxPKFX)
* PR #1048 Add conditional behavior to global variables, add systemversion as first implementation (@redorav)
* PR #1049 Add InlinesVisibility API (@tdesveauxPKFX)
* PR #1053 Fixed issue with floatingpoint "Strict" causing errors in XCode (@LORgames)
* PR #1062 Allow system("android") per configuration (@redorav)
* PR #1064 Tiny gcc fix from PR #506. (@tvandijck)
* PR #1065 Fixes a few luasocket compile warnings. (@tvandijck)
* PR #1066 fix a few compiler warnings. (@tvandijck)
* PR #1068 Fix constructing executable path from argv[0] (@lanurmi)
* PR #1069 Support successfully bootstrapping on Solaris (OpenIndiana). (@lanurmi)
* PR #1070 Support successfully bootstrapping on OpenBSD. (@lanurmi)
* PR #1075 Fixed bug with alias tests that caused one to three extra tests to be run (@LORgames)
* PR #1077 Do not output colors e.g. into a pipe, unless forced. (@lanurmi)
* PR #1078 Added GoogleTest style output for unit tests (@LORgames)
* PR #1080 Fix curl compilation on Debian PowerPC. (@lanurmi)
* PR #1081 cache results of shouldUseColors() (@tvandijck)
* PR #1084 Fix httpbin useragent response format. (@SchmidtD)
* PR #1087 Fix missing DebugInformationFormat when symbols are set to full (@rorydriscoll)
* PR #1089 Import paths weren't translated properly (@TurkeyMan)
* PR #1092 CodeLite workspace folders (groups) (@Gaztin)
* PR #1093 Implemented 'debugenvs' for CodeLite (@Gaztin)
* PR #1096 gmake2: Fix dependency for pch (@tdesveauxPKFX)
* PR #1098 Prevent D module from adding D block in unrelated projects (@tdesveauxPKFX)
* PR #1100 gmake2: Remove pch from FORCE_INCLUDE to allow NoPCH per-file (@tdesveauxPKFX)
* PR #1103 gmake*: fix shell type identification (@tdesveauxPKFX)
* PR #1104 Xcode Fixes (@erincatto)
* PR #1105 gmake: Add rules and dependencies for directory creation (@tdesveauxPKFX)
* PR #1107 Only set WindowsSDKDesktopARMSupport for windows systems (#172) (@Blizzard)
* PR #1108 Fix gmake2 (@Blizzard)
* PR #1113 Support buildaction for C++ projects (@Blizzard)
* PR #1115 Remove Xbox 360 code from core to move and expand onto a standalone module (@redorav)
* PR #1117 Fix Xcode autocompletion with excluded files (@sp-jordi-vilalta)
* PR #1118 gmake2: fix cpp perfileflags (@tdesveauxPKFX)
* PR #1125 Swap order of applying project specific config (@Blizzard)
* PR #1126 vpath android.link fix (@Blizzard)
* PR #1132 Refactor path.normalize and handle path ending with . (@tdesveauxPKFX)
* PR #1136 Support server paths (@Gaztin)
* PR #1137 Fix gmake multiple-output rule issue. (@Blizzard)
* PR #1142 Support for CSDialect (@Blizzard)
* PR #1143 Fix `targetextension` in xcode4 (@tempura-sukiyaki)
* PR #1144 Add `sharedlibtype` in xcode4 (@tempura-sukiyaki)
* PR #1145 Add support `kind:Utility` in xcode4 (@tempura-sukiyaki)
* PR #1161 Add `xcodesystemcapabilities` in xcode4 (@tempura-sukiyaki)
* PR #1164 ! fixed pepper fish to work with lua 5.3.4 (@neo2buha)
* PR #1167 Add support for per-file custom build commands in xcode4 (@tempura-sukiyaki)
* PR #1176 path.normalize: Fix when call with path surrounded with quotes (@tdesveauxPKFX)
Since 5.0-alpha11:
* PR #617 fix switch/separator in rules_xml (@Blizzard)
* PR #639 Add MSBuild target to Bootstrap.mak (@nta)
* PR #644 Don't treat "dependson" libraries as "links" libraries in Xcode (@macsforme)
* PR #659 Add C11 flag support for GCC (@resetnow)
* PR #668 Fix sporadic failures when using make -j# (@UmbraSoftware)
* PR #672 Fix issue with msc.getlinks and vstudio.getLinks returning different results when 'explicit' is true. (@Blizzard)
* PR #673 Add additional tokens to fileconfig and vs2010+. (@Blizzard)
* PR #675 update semver.lua (@Blizzard)
* PR #678 Escape string literals passed to defines() for Xcode (@macsforme)
* PR #679 Better detect debug build (@TurkeyMan)
* PR #685 Detect native source files. (@TurkeyMan)
* PR #686 Refactor language flags to go through the language API. (@Blizzard)
* PR #687 Windows Registry (@tvandijck)
* PR #690 make buffered_io available for c code too. (@Blizzard)
* PR #707 Fix missing CA certs on Windows (@Jusonex)
* PR #718 Adding support for NotSet characterset in VS2010+ (#79) (@Blizzard)
* PR #721 Fix CodeLite linking issues (@Blizzard)
* PR #728 Add support of UTF-8 for Windows (@DrLynix)
* PR #732 Fix VS2013 and older always rebuilding when debug symbols explicitly … (@jstewart)
* PR #733 Generated project files are now correctly located beside script (@LORgames)
* PR #734 NuGet fixes (@aleksijuvani)
* PR #735 Fixed issue with Clang not actually supporting floatingpoint 'strict' (@LORgames)
* PR #736 Fixed issue where VS2010+ projects didn't support floatingpoint 'Default' (@LORgames)
* PR #737 Add string.escapepattern function (@aleksijuvani)
* PR #738 Update curl to 7.53.1 (@aleksijuvani)
* PR #739 Refactor _OS, os.get() & os.is() (@Blizzard)
* PR #740 Properly deprecate WinMain flag (@LORgames)
* PR #742 Added BSD support (@LORgames)
* PR #743 Clean up the deprecated APIs (@industriousone)
* PR #745 Fixed issue with using startproject API in CodeLite (@LORgames)
* PR #746 Fixed erroneous escape usages in VS2010+ (@LORgames)
* PR #747 Bootstrap makefile now cleans up previous builds before building (@LORgames)
* PR #748 os.translateCommands now supports multiple tokens (@LORgames)
* PR #749 Updated packaging script (@LORgames)
* PR #751 CompileAs element handles C++ now (@LORgames)
* PR #752 Fixed various issues with compiling with VS2012 (@LORgames)
* PR #753 Added proxy URL to http options (@LORgames)
* PR #754 Fixed issue with the OBJDIR value not being escaped (@LORgames)
* PR #755 Add 'supports_language' callback to action (@Blizzard)
* PR #756 Fix a call to deprecated os.get() (@Blizzard)
* PR #757 Increased consistency of p. usage (@LORgames)
* PR #758 Cleaned up inconsistencies in whitespace (@LORgames)
* PR #760 Adding ARM support for Visual Studio. (@Blizzard)
* PR #761 Removed echo off in VS rules prop generator (@LORgames)
* PR #763 [core] Print warnings in purple (@Blizzard)
* PR #764 [core] get file/line information on deprecated API's. (@Blizzard)
* PR #768 [core] Fix Visual Studio ExecutablePath settings. (@Blizzard)
* PR #769 [core] new cmd path decorations with %[] syntax (@Blizzard)
* PR #771 [core] Use 'compileAs' API (@Blizzard)
* PR #772 [core] Don't set default entrypoint, rely on visual studio default. (@Blizzard)
* PR #774 Assure a default toolset is always set. (@Blizzard)
* PR #776 [core] Use 'cdialect' and 'cppdialect' instead of 'language'. (@Blizzard)
* PR #778 Added support at the file level for the NoPCH flag in VS200x projects (@LORgames)
* PR #779 add os.findheader() (@noresources)
* PR #781 Allow filters to be written as tables: (@Blizzard)
* PR #785 Unicode file functions for Windows (@DrLynix)
* PR #786 Fix typo in embed.lua (@DrLynix)
* PR #787 os.comparefiles function (@DrLynix)
* PR #788 Provide a way to 'tag' systems, and filter on those tags. (@Blizzard)
* PR #789 Add 'tags' filter api. (@Blizzard)
* PR #790 [self-test] fix nil dereference crash in test.isequal (@Blizzard)
* PR #798 create object directory before generating precompiled header (@noresources)
* PR #801 Groups in XCode workspace working. (@ricka)
* PR #802 Suppress mkdir warning on Windows if the folder already exists (@aleksijuvani)
* PR #803 Gmake2 module (@Blizzard)
* PR #804 Update to Lua 5.3.4 (@Blizzard)
* PR #805 Add --insecure option for SSL curl requests. (@Blizzard)
* PR #806 Add premake.isSemVer function (@Blizzard)
* PR #807 Added visual studio support for dot net .tt files (@Blizzard)
* PR #808 Added per file rtti generation for Visual Studio (@Blizzard)
* PR #809 Added os touchfile and a workaround for vs2010 reloading (@Blizzard)
* PR #810 Added masm handling of seh exception handling for VS2010 and above (@Blizzard)
* PR #811 Add 'preferredtoolarchitecture' API (@Blizzard)
* PR #812 Add support for cppdialect in VS2015 & VS2017 actions. (@Blizzard)
* PR #813 Add json.encode_pretty wrapper. (@Blizzard)
* PR #814 Add premake.info message function. (@Blizzard)
* PR #815 Errors in red. (@Blizzard)
* PR #816 Fixed C++17 flag to work with current versions of Clang. (@Blizzard)
* PR #817 A few gmake2 fixes due to it moving into a module. (@premake)
* PR #818 Make module of 'gmake' action. (@Blizzard)
* PR #821 Attempt at colors on linux (@Blizzard)
* PR #822 Move VStudio action into a module. (@Blizzard)
* PR #824 Set default toolsets for vs2005 and vs2008. (@Blizzard)
* PR #825 Use workspace everywhere (@Blizzard)
* PR #826 Escape '&' -> '&' (@Mikhael)
* PR #827 Added option to create bundle and frameworks on macOS. (@Blizzard)
* PR #828 Normalize path in 'getfileinfo' for local host. (@Blizzard)
* PR #829 Reduced vs2010+ file sizes by removing redundant config settings (@Blizzard)
* PR #830 Resource generator access (@Blizzard)
* PR #831 Fix in oven, for options that are not strings. (@Blizzard)
* PR #832 Fix a few compiler warnings (@Blizzard)
* PR #833 Fix empty rules. (@Blizzard)
* PR #834 Allow modules to register C code too. (@Blizzard)
* PR #836 Hook setTextColor in tests, so on linux/mac we don't get random color… (@Blizzard)
* PR #837 Removed "installer" kinds from vs2017. (@premake)
* PR #838 Fix bug in 'action.isConfigurable' not checking for onWorkspace. (@Blizzard)
* PR #839 Expand {...} macros in pre|post build commands for codelite (@Mikhael)
* PR #840 Proof of concept for binary modules. (@tvandijck)
* PR #842 Add bsd to the output of possible platforms (@ejb1123)
* PR #843 fix bug in testing framework leaving tests in random working folders. (@tvandijck)
* PR #844 fix unreferenced argument warning. (@tvandijck)
* PR #849 Write out build log element for VS utility projects (@mendsley)
* PR #851 Fix handling of unconventional NuGet .NET Framework folders (@aleksijuvani)
* PR #854 [core] Add High as a new warning level (@Blizzard)
* PR #855 Add filter for <Image> files (#135) (@Blizzard)
* PR #856 Fix path_getrelative for Windows (@Blizzard)
* PR #857 Fix action override targetos (@Blizzard)
* PR #858 Fix Nuget package handling to support Unix-style paths (@tritao)
* PR #859 Use NuGet package cache instead of the API if possible (@aleksijuvani)
* PR #860 fix for build failure on macOS in debug. (@Blizzard)
* PR #861 Allow embedding of binary resources. (@Blizzard)
* PR #862 small optimization in oven. (@Blizzard)
* PR #863 fix for duplicate 'allowed'. (@Blizzard)
* PR #864 move tags into globally accessible table, so we don't have to overload… (@Blizzard)
* PR #865 Remove "test.print" calls. (@Blizzard)
* PR #866 fix os.istarget and os.ishost to use the systemTags table as well. (@Blizzard)
* PR #867 Fix path translate (@Blizzard)
* PR #868 Filters always have to use \ regardless of target platform. (@Blizzard)
* PR #870 Fix prj.system bug in oven. (@Blizzard)
* PR #872 Rework binmodule example to silence unit test console output (@starkos)
* PR #874 Disable failing `os.findheader()` unit test on macOS (@starkos)
Since 5.0-alpha10:
* PR 523 New API symbols() replaces and extends "Symbols" flag
* PR 524 New API symbolspath() specifies location of symbol database
* PR 556 Add initialization hook for actions
* PR 553 Enable "list of paths" for rule properties
* PR 555 Allow multiple extensions for custom rules
* PR 561 Add IA32 to vectorextensions()
* PR 568 New API runpathdirs() adds rpath support
* PR 525 Add support for Visual Studio Debug Fast Link setting
* PR 401 Enable GCC link mode with ":static", ":shared"
* PR 543 Remove architecture specific include paths on macOS
* PR 554 Improve token expansion in rules
* PR 570 Normalize paths to os.execute()
* PR 546 Switch from openssl to mbedtls
* PR 545 compilebuildoutputs() adds generated files to build
* PR 575 New "raw" exporter
* PR 581 Fix path.normalize() handling of ".." sequences
* PR 587 Fix os.copyfile() handling of paths with spaces
* PR 597 Enable edit-and-continue for VS 2015 64-bit builds
* PR 583 Allow duplicate build commands
* PR 605 Fix for objdir() forced path operator "!"
* PR 603 Allow toolset-specific arguments to static linker
* PR 608 Allow Visual Studio StaticLib projects to link dependencies
* PR 610 Add defines and include paths to makefile projects
* PR 611 Prevent force includes from breaking precompiled headers
* PR 613 Fix os.match() detection of dot files
* PR 607 Remove support for deprecated MonoDevelop project formats
* PR 600 Fix VS support for symbolpath()
* PR 521 Make Clang default toolset for macOS
* PR 624 GCC support for C90 and C99
* PR 628 New API linkbuildoutputs() disables automatic linking of *.obj files
* PR 635 Improved parallelization of Makefile builds
* PR 619 Per-file configuration support for C# projects
* PR 649 Fix Visual Studio 2015 solution version identifier
* PR 645 Add initial Visual Studio 2017 support
Since 5.0-alpha9:
* New: `symbols()`, replaces and extends flags {"Symbols"}
* New: `symbolspath()` to specify location of symbol database
* New: `table.shallowcopy()`
* New: `vectorextensions` value "IA32"
* Fix: --start-group/--end-group now only enclose project libraries
Since 5.0-alpha8:
* New: `buildcustomizations()` imports custom .props files for VS
* New: `frameworksdir()` for Xcode and Make OS X projects
* New: `nuget()` to specify NuGet packages for VS projects
* New: `systemversion()` to specify VS target platform
* New: `io.readfile()` and `io.writefile()`
* New: Configurations may now be filtered by toolset
* New: HTTP calls now support authentication
* New: Support for XSD files in VS C# projects
* New: MASM file categorization for VS
* New: Integrated test framework for Premake module developers
* Fix: VS filter ordering is now deterministic
* Fix: VS projects and groups may now have the same name
* Fix: May now use '.' within shell variable tokens
* Fix: path.translate() now defaults to target system separator
* Fix: getextension() now handles multiple dots
* Fix: replaceextension() no longer adds leading dot
* Fix: Improved configuration baking performance
* Fix: Use -O0 for Clang debug optimization level
* Fix: CodeLite now uses portable path separators
* Fix: Improved ability to find precompiled headers in Makefiles
* Fix: Properly escape defines in Makefile projects
* Fix: Correct casing of UTF8 marker on Visual Studio rule files
Since 5.0-alpha7:
* New API: characterset()
* New API: editorintegration()
* New API: largeaddressaware()
* New: Visual Studio projects now default to Unicode
* New: Utility and Makefile project support for GMake exporter
* New: Updated Curl to 7.45.0
* Fix: Absolute path handling and error reporting in tokens
* Fix: Limit use of TargetMachine to static resource library projects
* Fix: Embed minified scripts by default, rather than bytecode
* Fix: os.isfile() now detects Windows symbolic links
* Fix: Correct handling of DOS environment variables in paths
* Fix: Buffer overflow in buffered writes of large strings
* Fix: Improved handling of absolute vs. relative path tokens
* Fix: --cc command line option works again (stream009)
* Fix: Use relative paths for PCH in Makefiles (stream009)
Since 5.0-alpha6:
* New API: additionalusingdirectories()
* New API: largeaddressaware()
* New: Embed bytecode to enable better debugging information
* New: Display elapsed time at completion
* New: Utility project support for Makefiles
* New: Enabled SSL support in HTTP functions
* Fix: Reduce memory usage during baking
* Fix: Improve performance of wildcard processing
* Fix: Preserve environment in recursive token expansion
* Fix: Added missing defines in bootstrap script
* Fix: Remove /usr/lib64 directories from Mac builds
* Fix: Added newline after UTF-8 marker in Visual Studio projects
* Fix: Duplicate escaping on include directories in Makefiles
* Fix: os.isdir() now works with Windows symbolic links
* Fix: Use correct path separators in C# response files
Since 5.0-alpha5:
* New API: ignoredefaultlibraries()
* New: Support LLVM platform toolset in Visual Studio
* New: Add framework folder path support
* Fix: Improved path.normalize() handling of DOS drive letters (StiX)
* Fix: os.match...() now supports more complex patterns
* Fix: Only generate project files if changed
* Fix: Improve handling of user platform names in Visual Studio
* Fix: Duplicate ".lib" extensions in Visual Studio
* Fix: Improve handling of mixed case command line options
* Fix: Remove `/E` option from Windows copy operations
* Fix: Multiple externalproject() calls to same project
* Fix: Improved determinism of generated project elements
* Fix: Set platform toolset for emtpty Visual Studio projects
* Fix: Better ".." handling for path.join()
Since 5.0-alpha4:
* New: Rename solution() to workspace()
* New API: customtoolnamespace() (tbasnoopy)
* New API: debuggertype() (tbasnoopy)
* New API: entrypoint() (Blizzard)
* New API: exceptionhandling() and rtti() (Blizzard)
* New API: http.get() and http.download() (Blizzard)
* New API: inlining() (Blizzard)
* New API: zip.extract() (Blizzard)
* New: `require()` now accepts optional version ranges
* New: Preloaded modules now return a "should load" test function
* New: Added support for IDL files in VC 2010+ (rhuvendiek)
* New: Added `file.directory` to token environment (Gabi Davar)
* New: Solution configurations are now fully baked (Blizzard)
* New: Enabled per-file configuration queries (Blizzard)
* New: Added more table functions (Blizzard)
* New: Added more values for floatingpoint()
* Fix: Enabled link-time optimization for Clang and GCC
* Fix: Module loader now reports script errors correctly (Tim Wharton)
* Fix: Wrap makefile targets in quotes (leeonix)
* Fix: Provide better default target directories (Blizzard)
* Fix: Escape backslashes in tokens (Damien Courtois)
* Fix: No longer generates containers marked as external
* Fix: Re-enable validation of supported action features (Blizzard)
* Fix: Match Visual C PDB output to target path (leeonix)
* Fix: Remove "." and ".." when joining paths (multiple contributors)
* Fix: Remove trailing newlines from os.outputof() (Tim Wharton)
* Fix: Improve token handling (multiple contributors)
Since 5.0-alpha2:
* New: CodeLite support
* New: D language support
* New: MonoDevelop support
* New API: buildlog()
* New API: callingconvention() (Tim Wharton)
* New API: os.writefile_ifnotequal()
* New API: sysincludedirs()
* New API: syslibdirs()
* New: toolset() can now specify a version number
* New: Default values and categories for command line options
* New: Add bootstrapping script for Git repository (Tim Wharton)
* Fix: Modules are now loaded correctly in all situations (Damien Courtois)
* Fix: Make Visual Studio debug commands absolute (amc522)
* Fix: Allow tokens in vpaths()
* Fix: Silence xcopy output from {COPY} command token (StiX)
* Fix: Remove ".." sequences in path.join()
* Fix: Allow CC and CXX overrides from command line (Tim Wharton)
* Fix: Enable solution level filtering on system values
* Fix: Make configuration flag mapping order deterministic
* Fix: Map "Win32" to x86 architecture for Visual Studio
* Fix: Correct formatting for Visual Studio rule paths
* Fix: Make project APIs consistently lowercase
* Fix: Disable SSE/SSE2 flags for Visual Studio 64-bit builds
* Fix: io.open() now creates directory append ("a") mode
Since 5.0-alpha1:
* Many new debugger APIs
* New API: endian()
* New API: fpu()
* New API: gccprefix()
* New API: pic()
* New API: runtime() (Tom van Dijck)
* New API: undefines()
* New API: disablewarnings(), enablewarnings(), fatalwarnings()
* Added Visual Studio 2015 support (Tom van Dijck)
* filter() now accepts field value aliases in the conditions
* Fixed _ACTION and _OPTIONS filter prefixes
* Main application logic can now be extended by modules
* Action arguments (_ARGS) are now keyed by both index and value
* Configuration baking and validation now skipped for execute only actions
* os.findlib() now accepts paths to search as argument
* Visual Studio .user files are now only generated if not empty
* Xcode4 exporter is now available
* Modules may now be loaded on demand where feasible
* os.outputof() now returns command exit code as second value
* Added AVX2 to vectorextensions()
* Checks to prevent self-linking (Mark Chandler)
* Added path.replaceextension() (M Skibbe)
* Made clean functions overridable
* Migrated x32/x64 to x86/x86_64
* Added new debugger selection APIs
* Fixed handling of ../ sequences in path.normalize() (Tom van Dijck)
* Added table.tostring() (Tom van Dijck)
* Added .editorconfig file
* Added string.sha1() (Tom van Dijck)
* Added verbosef() and --verbose flag (Tom van Dijck)