aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-03-10 19:25:09 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2019-03-10 19:25:09 +0200
commit9f48f5fe94d9608325e12c68bde2d37434f33283 (patch)
tree8bcb19151888a8d536e0693d8c06e5c1c28645bf
parent2bec1633fcd7ab9a8801d91b5e7c22ee64e0088a (diff)
downloadmeson-0.50.0.zip
meson-0.50.0.tar.gz
meson-0.50.0.tar.bz2
Update everything for new release.0.50.0
-rw-r--r--docs/markdown/Release-notes-for-0.50.0.md335
-rw-r--r--docs/markdown/snippets/clangformat.md11
-rw-r--r--docs/markdown/snippets/cmake_module_path.md9
-rw-r--r--docs/markdown/snippets/coarray.md3
-rw-r--r--docs/markdown/snippets/configure_default_opts.md6
-rw-r--r--docs/markdown/snippets/crosslib.md7
-rw-r--r--docs/markdown/snippets/cuda.md7
-rw-r--r--docs/markdown/snippets/extract_objects-file-arg.md4
-rw-r--r--docs/markdown/snippets/find_library_header.md21
-rw-r--r--docs/markdown/snippets/flang_fortran_compiler.md3
-rw-r--r--docs/markdown/snippets/fortran_submodule.md12
-rw-r--r--docs/markdown/snippets/generator_with_multiple_outputs_4760.md3
-rw-r--r--docs/markdown/snippets/hdf5.md3
-rw-r--r--docs/markdown/snippets/includestr.md16
-rw-r--r--docs/markdown/snippets/introspect_breaking_format.md11
-rw-r--r--docs/markdown/snippets/introspect_buildoptions_no_bd.md11
-rw-r--r--docs/markdown/snippets/introspect_deps_no_bd.md25
-rw-r--r--docs/markdown/snippets/introspect_meson_info.md6
-rw-r--r--docs/markdown/snippets/introspect_multiple.md24
-rw-r--r--docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md4
-rw-r--r--docs/markdown/snippets/introspect_targets_no_bd.md21
-rw-r--r--docs/markdown/snippets/native-file-paths.md4
-rw-r--r--docs/markdown/snippets/netcdf.md3
-rw-r--r--docs/markdown/snippets/notfound_message.md38
-rw-r--r--docs/markdown/snippets/pgi_compilers.md6
-rw-r--r--docs/markdown/snippets/python-path-method.md5
-rw-r--r--docs/markdown/snippets/rewriter.md18
-rw-r--r--docs/markdown/snippets/run_command_env.md9
-rw-r--r--docs/markdown/snippets/warning_level_0.md3
-rw-r--r--docs/sitemap.txt1
-rw-r--r--man/meson.12
-rw-r--r--mesonbuild/coredata.py2
32 files changed, 338 insertions, 295 deletions
diff --git a/docs/markdown/Release-notes-for-0.50.0.md b/docs/markdown/Release-notes-for-0.50.0.md
new file mode 100644
index 0000000..ec6c4f6
--- /dev/null
+++ b/docs/markdown/Release-notes-for-0.50.0.md
@@ -0,0 +1,335 @@
+---
+title: Release 0.50.0
+short-description: Release notes for 0.50.0
+...
+
+# New features
+
+## Added `cmake_module_path` and `cmake_args` to dependency
+
+The CMake dependency backend can now make use of existing `Find<name>.cmake`
+files by setting the `CMAKE_MODULE_PATH` with the new `dependency()` property
+`cmake_module_path`. The paths given to `cmake_module_path` should be relative
+to the project source directory.
+
+Furthermore the property `cmake_args` was added to give CMake additional
+parameters.
+
+## Added PGI compiler support
+
+Nvidia / PGI C, C++ and Fortran
+[no-cost](https://www.pgroup.com/products/community.htm) compilers are
+now supported. They have been tested on Linux so far.
+
+
+
+## Fortran Coarray
+
+Fortran 2008 / 2018 coarray support was added via `dependency('coarray')`
+
+## Libdir defaults to `lib` when cross compiling
+
+Previously `libdir` defaulted to the value of the build machine such
+as `lib/x86_64-linux-gnu`, which is almost always incorrect when cross
+compiling. It now defaults to plain `lib` when cross compiling. Native
+builds remain unchanged and will point to the current system's library
+dir.
+
+## Native and Cross File Paths and Directories
+
+A new `[paths]` section has been added to native and cross files. This
+can be used to set paths such a prefix and libdir in a persistent way.
+
+## Add warning_level 0 option
+
+Adds support for a warning level 0 which does not enable any static
+analysis checks from the compiler
+
+## A builtin target to run clang-format
+
+If you have `clang-format` installed and there is a `.clang-format`
+file in the root of your master project, Meson will generate a run
+target called `clang-format` so you can reformat all files with one
+command:
+
+```meson
+ninja clang-format
+```
+
+
+## Added a .path() method to object return by python.find_installation()
+
+`ExternalProgram` objects as well as the object returned by the
+`python3` module provide this method, but the new python module did
+not.
+
+## Fix ninja console log from generators with multiple output nodes
+
+This resolves ticket #4760 where a generator w/ multiple output nodes
+printed an empty string to the console
+
+## `introspect --buildoptions` can now be used without configured build directory
+
+It is now possible to run `meson introspect --buildoptions /path/to/meson.build`
+without a configured build directory.
+
+Running `--buildoptions` without a build directory produces the same
+output as running it with a freshly configured build directory.
+
+However, this behavior is not guaranteed if subprojects are
+present. Due to internal limitations all subprojects are processed
+even if they are never used in a real meson run. Because of this
+options for the subprojects can differ.
+
+## `include_directories` accepts a string
+
+The `include_directories` keyword argument now accepts plain strings
+rather than an include directory object. Meson will transparently
+expand it so that a declaration like this:
+
+```meson
+executable(..., include_directories: 'foo')
+```
+
+Is equivalent to this:
+
+```meson
+foo_inc = include_directories('foo')
+executable(..., include_directories: inc)
+```
+
+## Fortran submodule support
+
+Initial support for Fortran ``submodule`` was added, where the submodule is in
+the same or different file than the parent ``module``.
+The submodule hierarchy specified in the source Fortran code `submodule`
+statements are used by Meson to resolve source file dependencies.
+For example:
+
+```fortran
+submodule (ancestor:parent) child
+```
+
+
+## Add subproject_dir to --projectinfo introspection output
+
+This allows applications interfacing with Meson (such as IDEs) to know about
+an overridden subproject directory.
+
+## Find library with its headers
+
+The `find_library()` method can now also verify if the library's headers are
+found in a single call, using the `has_header()` method internally.
+
+```meson
+# Aborts if the 'z' library is found but not its header file
+zlib = find_library('z', has_headers : 'zlib.h')
+# Returns not-found if the 'z' library is found but not its header file
+zlib = find_library('z', has_headers : 'zlib.h', required : false)
+```
+
+Any keyword argument with the `header_` prefix passed to `find_library()` will
+be passed to the `has_header()` method with the prefix removed.
+
+```meson
+libfoo = find_library('foo',
+ has_headers : ['foo.h', 'bar.h'],
+ header_prefix : '#include <baz.h>',
+ header_include_directories : include_directories('.'))
+```
+
+## NetCDF
+
+NetCDF support for C, C++ and Fortran is added via pkg-config.
+
+## added the Flang compiler
+[Flang](https://github.com/flang-compiler/flang/releases) Fortran
+compiler support was added. As with other Fortran compilers, flang is
+specified using `FC=flang meson ..` or similar.
+
+## New `not_found_message` for dependency
+
+You can now specify a `not_found_message` that will be printed if the
+specified dependency was not found. The point is to convert constructs
+that look like this:
+
+```meson
+d = dependency('something', required: false)
+if not d.found()
+ message('Will not be able to do something.')
+endif
+```
+
+Into this:
+
+```meson
+d = dependency('something',
+ required: false,
+ not_found_message: 'Will not be able to do something.')
+```
+
+Or constructs like this:
+
+```meson
+d = dependency('something', required: false)
+if not d.found()
+ error('Install something by doing XYZ.')
+endif
+```
+
+into this:
+
+```meson
+d = dependency('something',
+ not_found_message: 'Install something by doing XYZ.')
+```
+
+Which works, because the default value of `required` is `true`.
+
+## Cuda support
+
+Compiling Cuda source code is now supported, though only with the
+Ninja backend. This has been tested only on Linux for now.
+
+Because NVidia's Cuda compiler does not produce `.d` dependency files,
+dependency tracking does not work.
+
+## `run_command` accepts `env` kwarg
+
+You can pass [`environment`](Reference-manual.html#environment-object)
+object to [`run_command`](Reference-manual.html#run-command), just
+like to `test`:
+
+```meson
+env = environment()
+env.set('FOO', 'bar')
+run_command('command', 'arg1', 'arg2', env: env)
+```
+
+## `extract_objects` accepts `File` arguments
+
+The `extract_objects` function now supports File objects to tell it
+what to extract. Previously, file paths could only be passed as strings.
+
+## Changed the JSON format of the introspection
+
+All paths used in the meson introspection JSON format are now absolute. This
+affects the `filename` key in the targets introspection and the output of
+`--buildsystem-files`.
+
+Furthermore, the `filename` and `install_filename` keys in the targets
+introspection are now lists of strings with identical length.
+
+The `--target-files` option is now deprecated, since the same information
+can be acquired from the `--tragets` introspection API.
+
+## Meson file rewriter
+
+This release adds the functionality to perform some basic modification
+on the `meson.build` files from the command line. The currently
+supported operations are:
+
+- For build targets:
+ - Add/Remove source files
+ - Add/Remove targets
+ - Modify a select set of kwargs
+ - Print some JSON information
+- For dependencies:
+ - Modify a select set of kwargs
+- For the project function:
+ - Modify a select set of kwargs
+ - Modify the default options list
+
+For more information see the rewriter documentation.
+
+## `introspect --scan-dependencies` can now be used to scan for dependencies used in a project
+
+It is now possible to run `meson introspect --scan-dependencies
+/path/to/meson.build` without a configured build directory to scan for
+dependencies.
+
+The output format is as follows:
+
+```json
+[
+ {
+ "name": "The name of the dependency",
+ "required": true,
+ "conditional": false,
+ "has_fallback": false
+ }
+]
+```
+
+The `required` keyword specifies whether the dependency is marked as required
+in the `meson.build` (all dependencies are required by default). The
+`conditional` key indicates whether the `dependency()` function was called
+inside a conditional block. In a real meson run these dependencies might not be
+used, thus they _may_ not be required, even if the `required` key is set. The
+`has_fallback` key just indicates whether a fallback was directly set in the
+`dependency()` function.
+
+## `introspect --targets` can now be used without configured build directory
+
+It is now possible to run `meson introspect --targets /path/to/meson.build`
+without a configured build directory.
+
+The generated output is similar to running the introspection with a build
+directory. However, there are some key differences:
+
+- The paths in `filename` now are _relative_ to the future build directory
+- The `install_filename` key is completely missing
+- There is only one entry in `target_sources`:
+ - With the language set to `unknown`
+ - Empty lists for `compiler` and `parameters` and `generated_sources`
+ - The `sources` list _should_ contain all sources of the target
+
+There is no guarantee that the sources list in `target_sources` is correct.
+There might be differences, due to internal limitations. It is also not
+guaranteed that all targets will be listed in the output. It might even be
+possible that targets are listed, which won't exist when meson is run normally.
+This can happen if a target is defined inside an if statement.
+Use this feature with care.
+
+## Added option to introspect multiple parameters at once
+
+Meson introspect can now print the results of multiple introspection
+commands in a single call. The results are then printed as a single JSON
+object.
+
+The format for a single command was not changed to keep backward
+compatibility.
+
+Furthermore the option `-a,--all`, `-i,--indent` and `-f,--force-object-output`
+were added to print all introspection information in one go, format the
+JSON output (the default is still compact JSON) and force use the new
+output format, even if only one introspection command was given.
+
+A complete introspection dump is also stored in the `meson-info`
+directory. This dump will be (re)generated each time meson updates the
+configuration of the build directory.
+
+Additionlly the format of `meson introspect target` was changed:
+
+ - New: the `sources` key. It stores the source files of a target and their compiler parameters.
+ - New: the `defined_in` key. It stores the meson file where a target is defined
+ - New: the `subproject` key. It stores the name of the subproject where a target is defined.
+ - Added new target types (`jar`, `shared module`).
+
+## meson configure can now print the default options of an unconfigured project
+
+With this release, it is also possible to get a list of all build options
+by invoking `meson configure` with the project source directory or
+the path to the root `meson.build`. In this case, meson will print the
+default values of all options.
+
+## HDF5
+
+HDF5 support is added via pkg-config.
+
+## Added the `meson-info.json` introspection file
+
+Meson now generates a `meson-info.json` file in the `meson-info` directory
+to provide introspection information about the latest meson run. This file
+is updated when the build configuration is changed and the build files are
+(re)generated.
diff --git a/docs/markdown/snippets/clangformat.md b/docs/markdown/snippets/clangformat.md
deleted file mode 100644
index 8983243..0000000
--- a/docs/markdown/snippets/clangformat.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## A builtin target to run clang-format
-
-If you have `clang-format` installed and there is a `.clang-format`
-file in the root of your master project, Meson will generate a run
-target called `clang-format` so you can reformat all files with one
-command:
-
-```meson
-ninja clang-format
-```
-
diff --git a/docs/markdown/snippets/cmake_module_path.md b/docs/markdown/snippets/cmake_module_path.md
deleted file mode 100644
index 7beb453..0000000
--- a/docs/markdown/snippets/cmake_module_path.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Added `cmake_module_path` and `cmake_args` to dependency
-
-The CMake dependency backend can now make use of existing `Find<name>.cmake`
-files by setting the `CMAKE_MODULE_PATH` with the new `dependency()` property
-`cmake_module_path`. The paths given to `cmake_module_path` should be relative
-to the project source directory.
-
-Furthermore the property `cmake_args` was added to give CMake additional
-parameters.
diff --git a/docs/markdown/snippets/coarray.md b/docs/markdown/snippets/coarray.md
deleted file mode 100644
index 961dce4..0000000
--- a/docs/markdown/snippets/coarray.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Fortran Coarray
-
-Fortran 2008 / 2018 coarray support was added via `dependency('coarray')`
diff --git a/docs/markdown/snippets/configure_default_opts.md b/docs/markdown/snippets/configure_default_opts.md
deleted file mode 100644
index 4b88bdf..0000000
--- a/docs/markdown/snippets/configure_default_opts.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## meson configure can now print the default options of an unconfigured project
-
-With this release, it is also possible to get a list of all build options
-by invoking `meson configure` with the project source directory or
-the path to the root `meson.build`. In this case, meson will print the
-default values of all options.
diff --git a/docs/markdown/snippets/crosslib.md b/docs/markdown/snippets/crosslib.md
deleted file mode 100644
index 14fcc81..0000000
--- a/docs/markdown/snippets/crosslib.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Libdir defaults to `lib` when cross compiling
-
-Previously `libdir` defaulted to the value of the build machine such
-as `lib/x86_64-linux-gnu`, which is almost always incorrect when cross
-compiling. It now defaults to plain `lib` when cross compiling. Native
-builds remain unchanged and will point to the current system's library
-dir.
diff --git a/docs/markdown/snippets/cuda.md b/docs/markdown/snippets/cuda.md
deleted file mode 100644
index a4a92cd..0000000
--- a/docs/markdown/snippets/cuda.md
+++ /dev/null
@@ -1,7 +0,0 @@
-## Cuda support
-
-Compiling Cuda source code is now supported, though only with the
-Ninja backend. This has been tested only on Linux for now.
-
-Because NVidia's Cuda compiler does not produce `.d` dependency files,
-dependency tracking does not work.
diff --git a/docs/markdown/snippets/extract_objects-file-arg.md b/docs/markdown/snippets/extract_objects-file-arg.md
deleted file mode 100644
index eff9a54..0000000
--- a/docs/markdown/snippets/extract_objects-file-arg.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## `extract_objects` accepts `File` arguments
-
-The `extract_objects` function now supports File objects to tell it
-what to extract. Previously, file paths could only be passed as strings.
diff --git a/docs/markdown/snippets/find_library_header.md b/docs/markdown/snippets/find_library_header.md
deleted file mode 100644
index 55597ab..0000000
--- a/docs/markdown/snippets/find_library_header.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## Find library with its headers
-
-The `find_library()` method can now also verify if the library's headers are
-found in a single call, using the `has_header()` method internally.
-
-```meson
-# Aborts if the 'z' library is found but not its header file
-zlib = find_library('z', has_headers : 'zlib.h')
-# Returns not-found if the 'z' library is found but not its header file
-zlib = find_library('z', has_headers : 'zlib.h', required : false)
-```
-
-Any keyword argument with the `header_` prefix passed to `find_library()` will
-be passed to the `has_header()` method with the prefix removed.
-
-```meson
-libfoo = find_library('foo',
- has_headers : ['foo.h', 'bar.h'],
- header_prefix : '#include <baz.h>',
- header_include_directories : include_directories('.'))
-```
diff --git a/docs/markdown/snippets/flang_fortran_compiler.md b/docs/markdown/snippets/flang_fortran_compiler.md
deleted file mode 100644
index d34d6cb..0000000
--- a/docs/markdown/snippets/flang_fortran_compiler.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## added the Flang compiler
-[Flang](https://github.com/flang-compiler/flang/releases) Fortran compiler support was added.
-As with other Fortran compilers, flang is specified using `FC=flang meson ..` or similar.
diff --git a/docs/markdown/snippets/fortran_submodule.md b/docs/markdown/snippets/fortran_submodule.md
deleted file mode 100644
index 9e4b9cc..0000000
--- a/docs/markdown/snippets/fortran_submodule.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## Fortran submodule support
-
-Initial support for Fortran ``submodule`` was added, where the submodule is in
-the same or different file than the parent ``module``.
-The submodule hierarchy specified in the source Fortran code `submodule`
-statements are used by Meson to resolve source file dependencies.
-For example:
-
-```fortran
-submodule (ancestor:parent) child
-```
-
diff --git a/docs/markdown/snippets/generator_with_multiple_outputs_4760.md b/docs/markdown/snippets/generator_with_multiple_outputs_4760.md
deleted file mode 100644
index af9a751..0000000
--- a/docs/markdown/snippets/generator_with_multiple_outputs_4760.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Fix ninja console log from generators with multiple output nodes
-
-This resolves ticket #4760 where a generator w/ multiple output nodes printed an empty string to the console
diff --git a/docs/markdown/snippets/hdf5.md b/docs/markdown/snippets/hdf5.md
deleted file mode 100644
index 8ebb4c0..0000000
--- a/docs/markdown/snippets/hdf5.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## HDF5
-
-HDF5 support is added via pkg-config.
diff --git a/docs/markdown/snippets/includestr.md b/docs/markdown/snippets/includestr.md
deleted file mode 100644
index fd4c130..0000000
--- a/docs/markdown/snippets/includestr.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## `include_directories` accepts a string
-
-The `include_directories` keyword argument now accepts plain strings
-rather than an include directory object. Meson will transparently
-expand it so that a declaration like this:
-
-```meson
-executable(..., include_directories: 'foo')
-```
-
-Is equivalent to this:
-
-```meson
-foo_inc = include_directories('foo')
-executable(..., include_directories: inc)
-```
diff --git a/docs/markdown/snippets/introspect_breaking_format.md b/docs/markdown/snippets/introspect_breaking_format.md
deleted file mode 100644
index a0fa29a..0000000
--- a/docs/markdown/snippets/introspect_breaking_format.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## Changed the JSON format of the introspection
-
-All paths used in the meson introspection JSON format are now absolute. This
-affects the `filename` key in the targets introspection and the output of
-`--buildsystem-files`.
-
-Furthermore, the `filename` and `install_filename` keys in the targets
-introspection are now lists of strings with identical length.
-
-The `--target-files` option is now deprecated, since the same information
-can be acquired from the `--tragets` introspection API.
diff --git a/docs/markdown/snippets/introspect_buildoptions_no_bd.md b/docs/markdown/snippets/introspect_buildoptions_no_bd.md
deleted file mode 100644
index f008474..0000000
--- a/docs/markdown/snippets/introspect_buildoptions_no_bd.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## `introspect --buildoptions` can now be used without configured build directory
-
-It is now possible to run `meson introspect --buildoptions /path/to/meson.build`
-without a configured build directory.
-
-Running `--buildoptions` without a build directory produces the same output as running
-it with a freshly configured build directory.
-
-However, this behavior is not guaranteed if subprojects are present. Due to internal
-limitations all subprojects are processed even if they are never used in a real meson run.
-Because of this options for the subprojects can differ. \ No newline at end of file
diff --git a/docs/markdown/snippets/introspect_deps_no_bd.md b/docs/markdown/snippets/introspect_deps_no_bd.md
deleted file mode 100644
index cfae58b..0000000
--- a/docs/markdown/snippets/introspect_deps_no_bd.md
+++ /dev/null
@@ -1,25 +0,0 @@
-## `introspect --scan-dependencies` can now be used to scan for dependencies used in a project
-
-It is now possible to run `meson introspect --scan-dependencies /path/to/meson.build`
-without a configured build directory to scan for dependencies.
-
-The output format is as follows:
-
-```json
-[
- {
- "name": "The name of the dependency",
- "required": true,
- "conditional": false,
- "has_fallback": false
- }
-]
-```
-
-The `required` keyword specifies whether the dependency is marked as required
-in the `meson.build` (all dependencies are required by default). The
-`conditional` key indicates whether the `dependency()` function was called
-inside a conditional block. In a real meson run these dependencies might not be
-used, thus they _may_ not be required, even if the `required` key is set. The
-`has_fallback` key just indicates whether a fallback was directly set in the
-`dependency()` function.
diff --git a/docs/markdown/snippets/introspect_meson_info.md b/docs/markdown/snippets/introspect_meson_info.md
deleted file mode 100644
index 42f2fda..0000000
--- a/docs/markdown/snippets/introspect_meson_info.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Added the `meson-info.json` introspection file
-
-Meson now generates a `meson-info.json` file in the `meson-info` directory
-to provide introspection information about the latest meson run. This file
-is updated when the build configuration is changed and the build files are
-(re)generated.
diff --git a/docs/markdown/snippets/introspect_multiple.md b/docs/markdown/snippets/introspect_multiple.md
deleted file mode 100644
index 7953415..0000000
--- a/docs/markdown/snippets/introspect_multiple.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## Added option to introspect multiple parameters at once
-
-Meson introspect can now print the results of multiple introspection
-commands in a single call. The results are then printed as a single JSON
-object.
-
-The format for a single command was not changed to keep backward
-compatibility.
-
-Furthermore the option `-a,--all`, `-i,--indent` and `-f,--force-object-output`
-were added to print all introspection information in one go, format the
-JSON output (the default is still compact JSON) and force use the new
-output format, even if only one introspection command was given.
-
-A complete introspection dump is also stored in the `meson-info`
-directory. This dump will be (re)generated each time meson updates the
-configuration of the build directory.
-
-Additionlly the format of `meson introspect target` was changed:
-
- - New: the `sources` key. It stores the source files of a target and their compiler parameters.
- - New: the `defined_in` key. It stores the meson file where a target is defined
- - New: the `subproject` key. It stores the name of the subproject where a target is defined.
- - Added new target types (`jar`, `shared module`).
diff --git a/docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md b/docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md
deleted file mode 100644
index 6d893d0..0000000
--- a/docs/markdown/snippets/introspect_projectinfo_subprojects_dir.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Add subproject_dir to --projectinfo introspection output
-
-This allows applications interfacing with Meson (such as IDEs) to know about
-an overridden subproject directory.
diff --git a/docs/markdown/snippets/introspect_targets_no_bd.md b/docs/markdown/snippets/introspect_targets_no_bd.md
deleted file mode 100644
index 0172a4e..0000000
--- a/docs/markdown/snippets/introspect_targets_no_bd.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## `introspect --targets` can now be used without configured build directory
-
-It is now possible to run `meson introspect --targets /path/to/meson.build`
-without a configured build directory.
-
-The generated output is similar to running the introspection with a build
-directory. However, there are some key differences:
-
-- The paths in `filename` now are _relative_ to the future build directory
-- The `install_filename` key is completely missing
-- There is only one entry in `target_sources`:
- - With the language set to `unknown`
- - Empty lists for `compiler` and `parameters` and `generated_sources`
- - The `sources` list _should_ contain all sources of the target
-
-There is no guarantee that the sources list in `target_sources` is correct.
-There might be differences, due to internal limitations. It is also not
-guaranteed that all targets will be listed in the output. It might even be
-possible that targets are listed, which won't exist when meson is run normally.
-This can happen if a target is defined inside an if statement.
-Use this feature with care. \ No newline at end of file
diff --git a/docs/markdown/snippets/native-file-paths.md b/docs/markdown/snippets/native-file-paths.md
deleted file mode 100644
index b091c40..0000000
--- a/docs/markdown/snippets/native-file-paths.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Native and Cross File Paths and Directories
-
-A new `[paths]` section has been added to native and cross files. This
-can be used to set paths such a prefix and libdir in a persistent way.
diff --git a/docs/markdown/snippets/netcdf.md b/docs/markdown/snippets/netcdf.md
deleted file mode 100644
index 711f174..0000000
--- a/docs/markdown/snippets/netcdf.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## NetCDF
-
-NetCDF support for C, C++ and Fortran is added via pkg-config.
diff --git a/docs/markdown/snippets/notfound_message.md b/docs/markdown/snippets/notfound_message.md
deleted file mode 100644
index d73c6b2..0000000
--- a/docs/markdown/snippets/notfound_message.md
+++ /dev/null
@@ -1,38 +0,0 @@
-## New `not_found_message` for dependency
-
-You can now specify a `not_found_message` that will be printed if the
-specified dependency was not found. The point is to convert constructs
-that look like this:
-
-```meson
-d = dependency('something', required: false)
-if not d.found()
- message('Will not be able to do something.')
-endif
-```
-
-Into this:
-
-```meson
-d = dependency('something',
- required: false,
- not_found_message: 'Will not be able to do something.')
-```
-
-Or constructs like this:
-
-```meson
-d = dependency('something', required: false)
-if not d.found()
- error('Install something by doing XYZ.')
-endif
-```
-
-into this:
-
-```meson
-d = dependency('something',
- not_found_message: 'Install something by doing XYZ.')
-```
-
-Which works, because the default value of `required` is `true`.
diff --git a/docs/markdown/snippets/pgi_compilers.md b/docs/markdown/snippets/pgi_compilers.md
deleted file mode 100644
index f083961..0000000
--- a/docs/markdown/snippets/pgi_compilers.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## Added PGI compiler support
-
-Nvidia / PGI C, C++ and Fortran [no-cost](https://www.pgroup.com/products/community.htm) compilers are now supported.
-They have been tested on Linux so far.
-
-
diff --git a/docs/markdown/snippets/python-path-method.md b/docs/markdown/snippets/python-path-method.md
deleted file mode 100644
index 169180c..0000000
--- a/docs/markdown/snippets/python-path-method.md
+++ /dev/null
@@ -1,5 +0,0 @@
-## Added a .path() method to object return by python.find_installation()
-
-`ExternalProgram` objects as well as the object returned by the
-`python3` module provide this method, but the new python module did
-not.
diff --git a/docs/markdown/snippets/rewriter.md b/docs/markdown/snippets/rewriter.md
deleted file mode 100644
index 7a4621d..0000000
--- a/docs/markdown/snippets/rewriter.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## Meson file rewriter
-
-This release adds the functionality to perform some basic modification
-on the `meson.build` files from the command line. The currently
-supported operations are:
-
-- For build targets:
- - Add/Remove source files
- - Add/Remove targets
- - Modify a select set of kwargs
- - Print some JSON information
-- For dependencies:
- - Modify a select set of kwargs
-- For the project function:
- - Modify a select set of kwargs
- - Modify the default options list
-
-For more information see the rewriter documentation.
diff --git a/docs/markdown/snippets/run_command_env.md b/docs/markdown/snippets/run_command_env.md
deleted file mode 100644
index dfa5ac5..0000000
--- a/docs/markdown/snippets/run_command_env.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## `run_command` accepts `env` kwarg
-
-You can pass [`environment`](Reference-manual.html#environment-object) object to [`run_command`](Reference-manual.html#run-command), just like to `test`:
-
-```meson
-env = environment()
-env.set('FOO', 'bar')
-run_command('command', 'arg1', 'arg2', env: env)
-```
diff --git a/docs/markdown/snippets/warning_level_0.md b/docs/markdown/snippets/warning_level_0.md
deleted file mode 100644
index 4836b14..0000000
--- a/docs/markdown/snippets/warning_level_0.md
+++ /dev/null
@@ -1,3 +0,0 @@
-## Add warning_level 0 option
-
-Adds support for a warning level 0 which does not enable any static analysis checks from the compiler
diff --git a/docs/sitemap.txt b/docs/sitemap.txt
index e05e2bf..bea2a31 100644
--- a/docs/sitemap.txt
+++ b/docs/sitemap.txt
@@ -73,6 +73,7 @@ index.md
Shipping-prebuilt-binaries-as-wraps.md
fallback-wraptool.md
Release-notes.md
+ Release-notes-for-0.50.0.md
Release-notes-for-0.49.0.md
Release-notes-for-0.48.0.md
Release-notes-for-0.47.0.md
diff --git a/man/meson.1 b/man/meson.1
index 7eb8fb2..3b67aab 100644
--- a/man/meson.1
+++ b/man/meson.1
@@ -1,4 +1,4 @@
-.TH MESON "1" "December 2018" "meson 0.49.0" "User Commands"
+.TH MESON "1" "March 2019" "meson 0.50.0" "User Commands"
.SH NAME
meson - a high productivity build system
.SH DESCRIPTION
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index 28e78e5..066ad30 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -27,7 +27,7 @@ import ast
import argparse
import configparser
-version = '0.49.999'
+version = '0.50.0'
backendlist = ['ninja', 'vs', 'vs2010', 'vs2015', 'vs2017', 'xcode']
default_yielding = False