--- title: What's New in 5.0 --- *We haven't been doing a great job of keeping this up-to-date, but it does still hit the major highlights.* ## Name Changes ## * The executable is now named **premake5** * The default project script is now **premake5.lua**; premake4.lua remains as a fallback. ## Flags and Actions ## * --interactive (open an interactive command prompt) * vs2012, vs2013, vs2015, vs2019 (Visual Studio 2012, 2013, 2015, 2019) ## Major Features ## * [Custom Rules](Custom-Rules.md) (still experimental) * [Makefile Projects](Makefile-Projects.md) * [Modules](Developing-Modules.md) * [Per-Configuration File Lists](files.md) * [Per-File Configurations](configuration.md) * [Per-Project Configurations](Configurations-and-Platforms.md) * [Platforms](Configurations-and-Platforms.md) * [Removes](Removing-Values.md) * [System Scripts](System-Scripts.md) * [Tokens](Tokens.md) * [HTTP support](http.download.md) ## New or Modified Globals ## * [_MAIN_SCRIPT](premake_MAIN_SCRIPT.md) * [_MAIN_SCRIPT_DIR](premake_MAIN_SCRIPT_DIR.md) * [_PREMAKE_DIR](premake_PREMAKE_DIR.md) ## New or Modified API calls ## * [architecture](architecture.md) (new) * [buildaction](buildaction.md) (new values) * [buildcommands](buildcommands.md) (new) * [builddependencies](builddependencies.md) (new) * [buildlog](buildlog.md) (new) * [buildmessage](buildmessage.md) (new) * [buildoutputs](buildoutputs.md) (new) * [characterset](characterset.md) (new) * [callingconvention](callingconvention.md) (new) * [cleancommands](cleancommands.md) (new) * [cleanextensions](cleanextensions.md) (new) * [clr](clr.md) (new, replaces flags `Managed` and `Unsafe`) * [configfile](configfile.md) (new) * [configmap](configmap.md) (new) * [configuration](configuration.md) (retired) * [configurations](configurations.md) (modified) * [copylocal](copylocal.md) (new) * [debugcommand](debugcommand.md) (new) * [debugconnectcommands](debugconnectcommands.md) (new) * [debugextendedprotocol](debugextendedprotocol.md) (new) * [debugport](debugport.md) (new) * [debugremotehost](debugremotehost.md) (new) * [debugsearchpaths](debugsearchpaths.md) (new) * [debugstartupcommands](debugstartupcommands.md) (new) * [dependson](dependson.md) (new) * [disablewarnings](disablewarnings.md) (new) * [dotnetframework](dotnetframework.md) (new) * [editandcontinue](editandcontinue.md) (new, replaces flag `NoEditAndContinue`) * [editorintegration](editorintegration.md) (new) * [enablewarnings](enablewarnings.md) (new) * [endian](endian.md) (new) * [entrypoint](entrypoint.md) (new) * [exceptionhandling](exceptionhandling.md) (new) * [external](external.md) (new) * [externalproject](externalproject.md) (new) * [externalrule](externalrule.md) (new) * [fatalwarnings](fatalwarnings.md) (new) * [fileextension](fileextension.md) (new) * [filename](filename.md) (new) * [filter](filter.md) (new) * [flags](flags.md) (new values) * [floatingpoint](floatingpoint.md) (new, replaces flags `FloatFast` and `FloatStrict`) * [forceincludes](forceincludes.md) (new) * [forceusings](forceusings.md) (new) * [fpu](fpu.md) (new) * [gccprefix](gccprefix.md) (new) * [group](group.md) (new) * [icon](icon.md) (new) * [inlining](inlining.md) (new) * [kind](kind.md) (Makefile, None) * [linkbuildoutputs](linkbuildoutputs.md) (new) * [links](links.md) * [language](language.md) (new values) * [locale](locale.md) (new) * [makesettings](makesettings.md) (new) * [namespace](namespace.md) (new) * [nativewchar](nativewchar.md) (new, replaces flag `NativeWChar`) * [newaction](newaction.md) (modified) * [nuget](nuget.md) (new) * [objdir](objdir.md) (modified) * [optimize](optimize.md) (new, replaces flags `OptimizeSize` and `OptimizeSpeed`) * [pic](pic.md) (new) * [platforms](platforms.md) (modified) * [postbuildmessage](postbuildmessage.md) (new) * [prebuildmessage](prebuildmessage.md) (new) * [prelinkmessage](prelinkmessage.md) (new) * [project](project.md) (modified) * [propertydefinition](propertydefinition.md) (new) * [rebuildcommands](rebuildcommands.md) (new) * [rtti](rtti.md) (new, replaces flag `NoRTTI`) * [rule](rule.md) (new) * [rules](rules.md) (new) * [runtime](runtime.md) (new) * [solution](workspace.md) (name changed) * [startproject](startproject.md) (new) * [strictaliasing](strictaliasing.md) (new) * [sysincludedirs](sysincludedirs.md) (new) * [syslibdirs](syslibdirs.md) (new) * [system](system.md) (new) * [toolset](toolset.md) (new) * [toolsversion](toolsversion.md) (new) * [undefines](undefines.md) (new) * [vectorextensions](vectorextensions.md) (new, replaces flags `EnableSSE` and `EnableSSE2`) * [warnings](warnings.md) (new, replaces flags `ExtraWarnings` and `NoWarnings`) * [workspace](workspace.md) (new) ## New or Modified Lua library calls ## * [includeexternal](includeexternal.md) (new) * [require](require.md) (modified) * [debug.prompt](debug.prompt.md) (new) * [http.download](http.download.md) (new) * [http.get](http.get.md) (new) * [os.chmod](os.chmod.md) (new) * [os.islink](os.islink.md) (new) * [os.realpath](os.realpath.md) (new) * [os.uuid](os.uuid.md) (can now generated deterministic name-based UUIDs) * [path.getabsolute](path.getabsolute.md) (new "relative to" argument) * [string.hash](string.hash.md) (new) ## Deprecated Values and Functions ## * [buildrule](buildrule.md) * [flags](flags.md): * Component * EnableSSE, EnableSSE2: use [vectorextensions](vectorextensions.md) instead * ExtraWarnings, NoWarnings: use [warnings](warnings.md) instead * FloatFast, FloatStrict: use [floatingpoint](floatingpoint.md) instead * Managed, Unsafe: use [clr](clr.md) instead * NativeWChar: use [nativewchar](nativewchar.md) instead * NoEditAndContinue: use [editandcontinue](editandcontinue.md) instead * NoRTTI: use [rtti](rtti.md) instead. * OptimizeSize, OptimizeSpeed: use [optimize](optimize.md) instead