premake/CHANGES.txt
2016-10-04 18:18:00 -04:00

183 lines
7.8 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-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)