--------------------
5.0-beta1
--------------------
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-alpha16:
* PR #1555 Added API to disable fast up to date checks (@nickclark2016)
* PR #1570 Initial C++20 module support for Visual Studio (@hannes-harnisch)
* PR #1619 Xcode embed libraries (@kellygravelyn)
* PR #1625 Remove "*ng" action deprecation (@noresources)
* PR #1629 Added support for Premake on macOS universal binary (@tempura-sukiyaki)
* PR #1635 Fix typo in Using Premake documentation (@abhiss)
* PR #1638 Fix broken links in docs (@KyrietS)
* PR #1642 Fix spelling mistake (@Troplo)
* PR #1644 Fix author name and update time on pages (@KyrietS)
* PR #1645 Add missing support for prebuildmessage/postbuildmessage for Codelite. (@Jarod42)
* PR #1649 Fix curl header search path (@depinxi)
* PR #1654 xcode4: Fix missing link of sibling project with custom targetextension (@depinxi)
* PR #1655 Compiler Version support for Visual Studion 2017+ (@nickclark2016)
* PR #1657 Renormalize line endings (@nickclark2016)
* PR #1661 Add frameworkdirs support to gmake and gmake2 with gcc/clang toolsets (@depinxi)
* PR #1663 compilebuildoutputs make some comments obsolete. (@Jarod42)
* PR #1668 Fix v6 bootstrapping from v5 (@starkos)
* PR #1673 Updated sidebar to include toolsversion link (@premake)
* PR #1680 Fix some build issues with mingw (@Biswa96)
* PR #1682 Add Community Update #9 (@starkos)
* PR #1687 Update deprecated entry for `newaction` (@Jarod42)
* PR #1704 VS2022 Exporter (@nickclark2016)
* PR #1710 Add support for SSE 4.2. (@ActuallyaDeviloper)
* PR #1712 Add OpenMP support for Visual Studio (@T-rvw)
* PR #1713 Upgrade docusaurus version to beta.6 (@KyrietS)
* PR #1715 Docs maintenance (@KyrietS)
* PR #1718 Deprecate `configuration()` (@starkos)
* PR #1720 Improve `justmycode` (@T-rvw)
* PR #1723 Add condition to `.csproj` references ItemGroup (@cicanci)
* PR #1726 Updated cdialect and cppdialect docs (@LORgames)
* PR #1727 Updated architecture docs (@LORgames)
* PR #1730 Added missing compileas values to docs (@LORgames)
* PR #1734 Add VS 2022 bootstrapping support (@afxw)
* PR #1736 Update showcase to include Orx (@sausagejohnson)
* PR #1662 Handle buildcommand for Codelite (@Jarod42)
* PR #1658 Fix D module compiler output for Visual Studio (@nickclark2016)
* PR #1728 Add action to check for and generate missing documentation (@LORgames)
* PR #1721 Add custom rules for Gmake2 & Codelite (@Jarod42)
* PR #1739 Fix #1628 failing macOS os.findlib() test (@starkos)
Since 5.0-alpha15:
* PR #1430 Fixed adding LD_LIBRARY_PATH to the executable run command. (@Enhex)
* PR #1439 Disable XP deprecation warning for Visual Studio projects (@withmorten)
* PR #1446 Do not add for .NET resources or the resource will not be properly embedded. (@rhuvendiek)
* PR #1447 Added /Wall to possible warning levels for Visual Studio (@ethan-wallace)
* PR #1454 Bootstrap.mak clean target(s) (@noresources)
* PR #1460 Add C++20 cppdialect for C++ projects (@nickclark2016)
* PR #1462 Added clang as a valid option for projects generated with vs2019 (@nickclark2016)
* PR #1468 macOS deployment target support for gcc and clang (@noresources)
* PR #1473 macOS os.getversion() improvements (@noresources)
* PR #1477 Add support for .swift file for xcode (@socialpoint)
* PR #1481 Improved ability to override XCode generator (@LORgames)
* PR #1482 Disable redirect test until HTTP endpoint is fixed (@LORgames)
* PR #1483 Add file details to Windows builds including version number (@LORgames)
* PR #1484 Fixed issue with os.matchfiles and symlinks (@LORgames)
* PR #1485 Added Windows implementation to os.touchfile to avoid issues with truncating the file (@LORgames)
* PR #1499 GitHub Actions: Artifacts (@sphene)
* PR #1503 Update cxx standard; (@continue98)
* PR #1505 Fix sysincludedirs for codelite. (@Jarod42)
* PR #1506 Fix quote escaping in Codelite. (@Jarod42)
* PR #1515 ConformanceMode flag implemented for >= vs2017 (@cos-public)
* PR #1519 Add Metal shader files as source code (@nickgravelyn)
* PR #1522 Fixed external library linking for Clang in VS2019+ (@nickclark2016)
* PR #1523 Added C++1z and C++2a dialect options for XCode (@nickclark2016)
* PR #1525 [Codelite] Only active (i.e. unique) configuration should be selected. (@Jarod42)
* PR #1527 Removed old CI build files (@LORgames)
* PR #1528 Added COPYFILE and COPYDIR tokens (@LORgames)
* PR #1529 NMake projects can now specify buildoptions and cppdialect (@LORgames)
* PR #1530 Remove unused code in vs2010_vcxproj.lua (@LORgames)
* PR #1532 Disable network tests; add --test-all flag to enable (@starkos)
* PR #1534 Added Ability to Disable JMC in Visual Studio (@nickclark2016)
* PR #1540 Xcode improvements (@noresources)
* PR #1542 Improve the user contribution resources (@premake)
* PR #1551 Added NetCore to CLR API (@nickclark2016)
* PR #1552 Fix MSC LTO, runtime, subsystem (@JoelLinn)
* PR #1554 clang Use `llvm-ar` linker when LTO flag is set. (@JoelLinn)
* PR #1560 Added newer shader versions (@dpeter99)
* PR #1562 Remove moduledownloader to avoid RCE. (@xenia-project)
* PR #1564 Improved net version check to also support net5.0 and beyond (@ClxS)
* PR #1565 AllowUnsafeBlocks will now be a project level property in new format (@ClxS)
* PR #1566 Set execute bit on Bootstrap.bat (@ratzlaff)
* PR #1571 useFullPaths config property for Visual Studio projects (@cos-public)
* PR #1576 Mesh and amplification shader type for Visual Studio (@pkurth)
* PR #1587 Introduce new website with docs with docusaurus (@KyrietS)
* PR #1589 os.outputof: add a second argument to select which stream to output (@noresources)
* PR #1593 Update to mbedtls 2.25 (@susnux)
* PR #1594 Added reference pages to docs (@KyrietS)
* PR #1597 Port user guide pages from wiki (@starkos)
* PR #1600 Add GitHub Action workflow for website deployment (@KyrietS)
* PR #1602 Rework website home & download pages (@starkos)
* PR #1604 Break out community section on website (@starkos)
* PR #1606 add RemoveUnreferencedCodeData option to disable /Zc:inline (@withmorten)
* PR #1607 Add Algolia search (@KyrietS)
* PR #1608 Fix Premake logo in README (@KyrietS)
* PR #1609 Encourage contributors to align the docs (@KyrietS)
* PR #1610 Improve new user website navigation (@starkos)
* PR #1614 Set up blog; move community updates (@starkos)
Since 5.0-alpha14:
* PR #1086 Added support for Objective-C and Objective-C++ in xcode and gmake2nil (@LORgames)
* PR #1192 Update path.lua (@dsvi)
* PR #1229 Generated makefiles no longer error when a configuration can be missing (@LORgames)
* PR #1275 Fixed various issues with escaping in CodeLite generator (@LORgames)
* PR #1280 Bootstrap.bat: Default to latest Visual Studio available (@tdesveauxPKFX)
* PR #1281 Source package improvements (@tdesveauxPKFX)
* PR #1282 Fix VS2019 solution icons (@ifarbod)
* PR #1285 Use correct values for MinimumVisualStudioVersion in Android projects (@ifarbod)
* PR #1289 Haiku fixes (@mmuman)
* PR #1296 Fix source packaging (@tdesveauxPKFX)
* PR #1298 Update D module to VS2019 and latest D compiler options. (@TurkeyMan)
* PR #1305 Reconcile logic within os_matchisfile() (@cfs-pure)
* PR #1313 Activating Open Collective (@opencollective)
* PR #1316 Add FUNDING.yml for GitHub Sponsors (@starkos)
* PR #1318 Updated mismatched android config to the value in the allowed stl table (@LORgames)
* PR #1323 Update copyright year in support files (@starkos)
* PR #1324 Add a CONTRIBUTING.md (@starkos)
* PR #1325 Improve the README (@starkos)
* PR #1326 Update issue templates (@premake)
* PR #1327 Add a pull request template (@premake)
* PR #1332 Account for filename collisions on systems with case-insensitive file… (@ratzlaff)
* PR #1333 Cleanup related to #1332 (@ratzlaff)
* PR #1334 Implement 'compileas' for vc2008 (@ratzlaff)
* PR #1337 On OSX, convert systemversion to MACOSX_DEPLOYMENT_TARGET (@baconpaul)
* PR #1340 Upgrade Lua from 5.3.4 to 5.3.5 (@jp31415926)
* PR #1341 Add new issue template "Get help" (@premake)
* PR #1342 Improve bug reporting template (@premake)
* PR #1343 Improve feature request template (@premake)
* PR #1345 New 'listWindowsRegistry' OS API method for enumerating content of single registry subkey (@kaldap)
* PR #1351 Added support for vcxitems project generation for VS2013+ (@LORgames)
* PR #1352 Improved test runner usage (@LORgames)
* PR #1353 Fix premake4.lua bootstrap build script (@fountainment)
* PR #1355 Add shaderincludedirs to fxcompile configuration (@starkos)
* PR #1356 Allow wildcards in xcodebuildresources (@starkos)
* PR #1357 Replace debuggerflavor with debugger (take #2) (@starkos)
* PR #1358 Added support for Dx11.3 shader model (@zlnimda)
* PR #1359 Add assemblyDebug for vs2017 (@tbasnoopy)
* PR #1360 Fix the return value of some os functions (@sp-jordi-vilalta)
* PR #1361 Simplified unit test to resolve path issues (@LORgames)
* PR #1362 Fixed inconsistencies in Android VS project test (@LORgames)
* PR #1365 E2K: fixed build by MCST lcc compiler (@r-a-sattarov)
* PR #1385 Fix pull request template (@tempura-sukiyaki)
* PR #1386 Initial support for generating netcore and netstandard projects (@ClxS)
* PR #1395 Fixed edge case in path.normalize (@LORgames)
* PR #1396 Fixed bug with linkgroups only working on Premake projects (@LORgames)
* PR #1401 Remove commands optimization which breaks tokens (@starkos)
* PR #1402 Remove checkFunc from Resource files (@yuyoyuppe)
* PR #1403 Add build steps to Visual Studio (@redorav)
* PR #1404 Place all generated files in separate GENERATED list, so they all can… (@Mikhael-Danilov)
* PR #1406 Change deferred join delimiter to non-printable character (@starkos)
* PR #1415 Add .c++ extension support to a few spots it was missing (@englercj)
* PR #1419 Fix #1411: Remove "|" from Codelite config names (@starkos)
* PR #1420 Fix MinGW builds of Premake (@premake)
* PR #1421 Enable enablewarnings() for MSC (@starkos)
* PR #1422 Added GitHub Actions (@LORgames)
* PR #1424 Fix systemversion("latest") on VS2017 (@starkos)
* PR #1427 Fix up and improve the release docs and script (@premake)
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 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)