diff --git a/README.md b/README.md index 2d291ca3352..115693b4417 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,8 @@ For instructions on how to run with vscode devcontainers see: Older releases and a file containing MD5 checksums for all files in the - download directory, + download directory, also reachable through rsync rsync.erlang.org::erlang-download diff --git a/_includes/patch-related-links.html b/_includes/patch-related-links.html index d961ee74bb5..b1963dbe605 100644 --- a/_includes/patch-related-links.html +++ b/_includes/patch-related-links.html @@ -7,7 +7,7 @@ {% case splitId[0] %} {% when "ERL" %} -{{ include.id }} +{{ include.id }} {% when "GH" %} {{ include.id }} {% when "PR" %} diff --git a/_layouts/default.html b/_layouts/default.html index 10858a47e76..1e00218b846 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -30,7 +30,7 @@ +{"@type":"WebSite","url":"https://www.erlang.org/","headline":"{{ title }}","name":"Erlang.org","sameAs":["https://twitter.com/erlang_org","https://github.com/erlang/otp"],"@context":"https://schema.org"} {{ title }} diff --git a/_news/10.md b/_news/10.md index 8e9c5210cff..683c45b396e 100644 --- a/_news/10.md +++ b/_news/10.md @@ -14,6 +14,6 @@ article_type_id: "3" **Erlang/OTP R14B** has been released as planned on September 15:th 2010. It is the first non-beta R14 release. - See the release notes in the [readme file](https://erlang.org/download/otp_src_R14B.readme) + See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R14B.readme) - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). diff --git a/_news/105.md b/_news/105.md index 76c24c7cb10..470f1e7c5f9 100644 --- a/_news/105.md +++ b/_news/105.md @@ -32,9 +32,9 @@ Some highlights of the release are: * and much more .... You can find the Release Notes with more detailed info at -  [ https://www.erlang.org/download/otp_src_19.0.readme](https://www.erlang.org/download/otp_src_19.0.readme) +  - You find the source code at [ github.com](http://github.com/erlang) in the official Erlang repository. + You find the source code at [github.com](http://github.com/erlang) in the official Erlang repository. Git tag OTP-19.0 @@ -44,7 +44,7 @@ Some highlights of the release are: (see the Release Notes mentioned above for release notes which are not updated in the doc, but the new functionality is) - + We also want to thank all of you that have contributed with new features, bug-fixes, suggestions and bug reports. diff --git a/_news/107.md b/_news/107.md index 59fe39b9d2f..904bb52a94e 100644 --- a/_news/107.md +++ b/_news/107.md @@ -29,14 +29,14 @@ You can download the full source distribution from in the official Erlang repository. Git tag OTP-19.1 The Windows binary distributions can be downloaded from -[https://www.erlang.org/download/otp_win64_19.1.exe ](https://www.erlang.org/download/otp_win64_19.1.exe) + You can also download the complete HTML documentation or the Unix manual files diff --git a/_news/109.md b/_news/109.md index 80ccbc86c44..c4a24d27370 100644 --- a/_news/109.md +++ b/_news/109.md @@ -21,14 +21,14 @@ Some highlights for 19.2 You can find the README and the full listing of changes for this service release at -  https://www.erlang.org/download/otp_src_19.2.readme +  /download/otp_src_19.2.readme    The source distribution and binary distributions for Windows can be downloaded from -  https://www.erlang.org/download/otp_src_19.2.tar.gz -  https://www.erlang.org/download/otp_win32_19.2.exe -  https://www.erlang.org/download/otp_win64_19.2.exe +  /download/otp_src_19.2.tar.gz +  /download/otp_win32_19.2.exe +  /download/otp_win64_19.2.exe    Note: To unpack the TAR archive you need a GNU TAR compatible program. @@ -37,11 +37,11 @@ For installation instructions please consult the README file that is part of th The Erlang/OTP source can also be found at GitHub on the official Erlang repository, https://github.com/erlang/otp with tag OTP-19.2 -The on-line documentation can be found at: https://www.erlang.org/doc/ +The on-line documentation can be found at: /doc/ You can also download the complete HTML documentation or the Unix manual files -  https://www.erlang.org/download/otp_doc_html_19.2.tar.gz -  https://www.erlang.org/download/otp_doc_man_19.2.tar.gz +  /download/otp_doc_html_19.2.tar.gz +  /download/otp_doc_man_19.2.tar.gz    Please report any new issues via Erlang/OTPs public issue tracker  diff --git a/_news/112.md b/_news/112.md index 7cceaa6b8fb..a953175ef2f 100644 --- a/_news/112.md +++ b/_news/112.md @@ -70,11 +70,11 @@ Here are some of the most important news: * New `math:fmod/2` For more details see - + Pre built versions for Windows can be fetched here: - - + + On line documentation can be browsed here: diff --git a/_news/113.md b/_news/113.md index f1c3bfce959..e63c0f9be25 100644 --- a/_news/113.md +++ b/_news/113.md @@ -72,11 +72,11 @@ Here are some of the most important news in OTP 20 (same as in RC1): * New `math:fmod/2` For more details see - + Per built versions for Windows can be fetched here: - - + + On line documentation can be browsed here: diff --git a/_news/114.md b/_news/114.md index 30a6d4adac1..51706c97957 100644 --- a/_news/114.md +++ b/_news/114.md @@ -72,14 +72,14 @@ Here are some of the most important news in OTP 20: * New `math:fmod/2` For more details see -[https://erlang.org/download/otp_src_20.0.readme](https://erlang.org/download/otp_src_20.0-rc2.readme) +[https://www.erlang.org/download/otp_src_20.0.readme](https://www.erlang.org/download/otp_src_20.0-rc2.readme) The Erlang/OTP source can also be found at GitHub on the official Erlang repository, with tag OTP-20.0 Pre built versions for Windows can be fetched here: -[https://erlang.org/download/otp_win32_20.0.exe](https://erlang.org/download/otp_win32_20.0-rc2.exe) -[https://erlang.org/download/otp_win64_20.0.exe](https://erlang.org/download/otp_win64_20.0-rc2.exe) +[https://www.erlang.org/download/otp_win32_20.0.exe](https://www.erlang.org/download/otp_win32_20.0-rc2.exe) +[https://www.erlang.org/download/otp_win64_20.0.exe](https://www.erlang.org/download/otp_win64_20.0-rc2.exe) On line documentation can be browsed here: diff --git a/_news/115.md b/_news/115.md index 0602bb0076c..5c80414a455 100644 --- a/_news/115.md +++ b/_news/115.md @@ -98,7 +98,7 @@ The on-line documentation can be found at: [https://www.erlang.org/doc/](/doc/) Please report any new issues via Erlang/OTPs public issue tracker -[https://bugs.erlang.org](https://bugs.erlang.org/) + We want to thank all of those who sent us patches, suggestions and bug reports! diff --git a/_news/121.md b/_news/121.md index 635ece75025..fd025be829a 100644 --- a/_news/121.md +++ b/_news/121.md @@ -59,14 +59,14 @@ Erlang/OTP 21 is a new major release with new features, improvements as well as * Changed default behaviour of .erlang loading. escript, erlc, dialyzer and typer no longer load an .erlang at all. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/122.md b/_news/122.md index 061cca14002..e281af8a405 100644 --- a/_news/122.md +++ b/_news/122.md @@ -61,14 +61,14 @@ Erlang/OTP 21 is a new major release with new features, improvements as well as * Changed default behaviour of .erlang loading. escript, erlc, dialyzer and typer no longer load an .erlang at all. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/123.md b/_news/123.md index 21e71605044..823931098da 100644 --- a/_news/123.md +++ b/_news/123.md @@ -55,14 +55,14 @@ Erlang/OTP 21 is a new major release with new features, improvements as well as * Changed default behaviour of .erlang loading. escript, erlc, dialyzer and typer no longer load an .erlang at all. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: [OTP-21.0](https://github.com/erlang/otp/releases/tag/OTP-21.0) diff --git a/_news/124.md b/_news/124.md index f8a5b36e8aa..2d283d4d09b 100644 --- a/_news/124.md +++ b/_news/124.md @@ -31,14 +31,14 @@ ERTS, Kernel: * The socket options recvtos, recvttl, recvtclass and pktoptions have been implemented in the socket modules. Se documentation in gen_tcp, gen_udp and inet modules for more info! For more details see: - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: [OTP-21.1](https://github.com/erlang/otp/releases/tag/OTP-21.1) diff --git a/_news/125.md b/_news/125.md index 2f03cdcd391..c52adc34ce0 100644 --- a/_news/125.md +++ b/_news/125.md @@ -32,14 +32,14 @@ ERTS, Kernel: * No more ONESHOT mechanism overhead on fds! Only on Linux and BSD For a full list of details see: - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: [OTP-21.2](https://github.com/erlang/otp/releases/tag/OTP-21.2) diff --git a/_news/126.md b/_news/126.md index 77629a79a14..2e971fada15 100644 --- a/_news/126.md +++ b/_news/126.md @@ -50,14 +50,14 @@ Native code generation does not work for all modules due to new BEAM instruction * SSL now uses the new logger API, including log levels and verbose debug logging. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/127.md b/_news/127.md index 1c7cb13d41c..277e3b29ca7 100644 --- a/_news/127.md +++ b/_news/127.md @@ -35,14 +35,14 @@ OTP: * Versions of OTP older than R13B04 is not shown in the reference documentation For a full list of details see: - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, Here: [OTP-21.2](https://github.com/erlang/otp/releases/tag/OTP-21.3) diff --git a/_news/128.md b/_news/128.md index bf9b11aa5f2..a0f50368632 100644 --- a/_news/128.md +++ b/_news/128.md @@ -53,14 +53,14 @@ Erlang/OTP 22 is a new major release with new features and improvements as well * SSL now uses the new logger API, including log levels and verbose debug logging. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/129.md b/_news/129.md index 07e20ecff9d..350496c7499 100644 --- a/_news/129.md +++ b/_news/129.md @@ -18,7 +18,7 @@ Erlang/OTP 22 is a new major release with new features and improvements as well There are no major highlight for this release, as the main focus of this is bugfixes and polish. -Please consult the [readme](https://erlang.org/download/otp_src_22.0-rc3.readme) for a detailed changelog for the release. +Please consult the [readme](https://www.erlang.org/download/otp_src_22.0-rc3.readme) for a detailed changelog for the release. The intention with this release is to get feedback from our users. All feedback is welcome, even if it is only to say that it works for you, as it lets us know that the release candidate got some testing. @@ -56,14 +56,14 @@ The intention with this release is to get feedback from our users. All feedback * SSL now uses the new logger API, including log levels and verbose debug logging. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/13.md b/_news/13.md index 68011baab67..e9eaf0ab689 100644 --- a/_news/13.md +++ b/_news/13.md @@ -16,7 +16,7 @@ article_type_id: "3" See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R14B04.readme). - Download the new release from the [download page](https://www.erlang.org/download.html). + Download the new release from the [download page](/download.html). This release is mainly a stabilization of the R14B03 release (but as usual there are diff --git a/_news/132.md b/_news/132.md index 5ab852ab5a3..53725c00c94 100644 --- a/_news/132.md +++ b/_news/132.md @@ -51,17 +51,16 @@ For a deeper dive into the highlights of the OTP 22 release, you can read our bl * crypto: The new `hash_info/1` and `cipher_info/1` functions returns maps with information about the hash or cipher in the argument. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: -[https://erlang.org/doc/search/](/doc/search/) + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: - [OTP-22.0](https://github.com/erlang/otp/releases/tag/OTP-22.0) diff --git a/_news/133.md b/_news/133.md index e6a65dcaffe..5a22d5b0926 100644 --- a/_news/133.md +++ b/_news/133.md @@ -26,21 +26,21 @@ article_type_id: "3" * crypto: The Message Authentication Codes (MAC) CMAC, HMAC and Poly1305 are unified into common functions in the New Crypto API. See the manual for CRYPTO.` cipher_info/1` functions returns maps with information about the hash or cipher in the argument. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: -[https://erlang.org/doc/search/](/doc/search/) + The source tarball can be fetched here: - + The documentation can be fetched here: - + The man pages can be fetched here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/135.md b/_news/135.md index 89a6794a9ab..c59b22c0cf4 100644 --- a/_news/135.md +++ b/_news/135.md @@ -26,21 +26,21 @@ article_type_id: "3" * Emacs erlang-mode function that lets the user open the documentation for an Erlang/OTP function in an Emacs buffer has been improved. Users will be asked if they want the man pages downloaded if they are not present in the system. For more details see -[erlang.org/download/otp_src_22.2.readme](https://erlang.org/download/otp_src_22.2.readme) + Pre-built versions for Windows can be fetched here: -[erlang.org/download/otp_win32_22.2.exe](https://erlang.org/download/otp_win32_22.2.exe) -[erlang.org/download/otp_win64_22.2.exe](https://erlang.org/download/otp_win64_22.2.exe) + + Online documentation can be browsed here: -[erlang.org/doc/search/](/doc/search/) + The source tarball can be fetched here: -[erlang.org/download/otp_src_22.2.tar.gz](https://erlang.org/download/otp_src_22.2.tar.gz) + The documentation can be fetched here: -[erlang.org/download/otp_doc_html_22.2.tar.gz](https://erlang.org/download/otp_doc_html_22.2.tar.gz) + The man pages can be fetched here: -[erlang.org/download/otp_doc_man_22.2.tar.gz](https://erlang.org/download/otp_doc_man_22.2.tar.gz) + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/136.md b/_news/136.md index 1d7ad2d9305..a3bb62ed7ec 100644 --- a/_news/136.md +++ b/_news/136.md @@ -44,13 +44,13 @@ Erlang/OTP 23 is a new major release with new features, improvements as well as * ... For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/137.md b/_news/137.md index b873bd5e6e1..9f8615c48fc 100644 --- a/_news/137.md +++ b/_news/137.md @@ -41,18 +41,18 @@ Erlang/OTP 22.3 is the last planned patch package for the 22 major release with `push_callback_module`, and `pop_callback_module`. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: -[https://erlang.org/doc/search/](/doc/search/) + The source tarball can be fetched here: - + The documentation can be fetched here: - + The man pages can be fetched here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: OTP-22.3 diff --git a/_news/138.md b/_news/138.md index d581d03592f..32b19c8de8a 100644 --- a/_news/138.md +++ b/_news/138.md @@ -69,13 +69,13 @@ Erlang/OTP 23 is a new major release with new features, improvements as well as * ... For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/139.md b/_news/139.md index a2a7e1fabeb..e1c0f631ce5 100644 --- a/_news/139.md +++ b/_news/139.md @@ -73,13 +73,13 @@ Apart from the changes below, this third pre-release contains only minor fixes. * ... For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/140.md b/_news/140.md index 1e71bb7dcb2..9cafd05283a 100644 --- a/_news/140.md +++ b/_news/140.md @@ -50,13 +50,13 @@ Erlang/OTP 23 is a new major release with new features, improvements as well as * Our tool chain for building the Windows packages is upgraded with new C++ compiler, Java compiler, OpenSSL libraries and wxWidgets versions. We are now using WSL (the Linux Subsystem for Windows when building) which makes it easier to handle the build environment. For more details see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/141.md b/_news/141.md index 85ce3539f37..332a02742a1 100644 --- a/_news/141.md +++ b/_news/141.md @@ -28,15 +28,15 @@ Adjust /bin/sh to /system/bin/sh in scripts when installing on Android. ### Full list of bug fixes and improvements in the readme. - + #### Download and doc Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/142.md b/_news/142.md index ecb725117ee..5314143c1e0 100644 --- a/_news/142.md +++ b/_news/142.md @@ -14,4 +14,4 @@ article_type_id: "3" Lukas Larsson and John Högberg from the OTP team are talking about the new JIT implementation for the BEAM in this PODCAST from ThinkingElixir. -[https://thinkingelixir.com/podcast-episodes/017-jit-compiler-for-beam-with-lukas-larsson-and-john-hogberg/ ](https://thinkingelixir.com/podcast-episodes/017-jit-compiler-for-beam-with-lukas-larsson-and-john-hogberg/) + diff --git a/_news/143.md b/_news/143.md index 5fea5bb3e80..f21072bb5f2 100644 --- a/_news/143.md +++ b/_news/143.md @@ -29,16 +29,16 @@ Improved the API and documentation of the uri_string module. Added a new chapter This change has been marked as potentially incompatible as uri_string:normalize/2 used to decode percent-encoded character triplets that corresponded to characters not in the reserved set. After this change, uri_string:normalize/2 will only decode those percent-encoded triplets that correspond to characters in the unreserved set (ALPHA / DIGIT / "-" / "." / "_" / "~"). -A full list of bug fixes and improvements in the [readme](https://erlang.org/download/OTP-23.2.README). +A full list of bug fixes and improvements in the [readme](https://www.erlang.org/download/OTP-23.2.README). #### Download and documentation Online documentation can be browsed here: - + Pre-built versions for Windows can be fetched here: - - + + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/144.md b/_news/144.md index 0337f23be56..88e8cdd92c8 100644 --- a/_news/144.md +++ b/_news/144.md @@ -55,14 +55,14 @@ Add support for FTPES (explicit FTP over TLS). can now provide documentation for shell_docs the same way that OTP libraries did since OTP 23.0. For more details about new features and potential incompatibilities see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/145.md b/_news/145.md index a7956758ff6..c4312a512ba 100644 --- a/_news/145.md +++ b/_news/145.md @@ -14,16 +14,16 @@ article_type_id: "3" Erlang/OTP 23.3 is the third and final maintenance patch package for OTP 23, with mostly bug fixes as well as a few improvements. -A full list of bug fixes and improvements in the [readme](https://erlang.org/download/OTP-23.3.README). +A full list of bug fixes and improvements in the [readme](https://www.erlang.org/download/OTP-23.3.README). #### Download and documentation Online documentation can be browsed here: - + Pre-built versions for Windows can be fetched here: - - + + The Erlang/OTP source can also be found at GitHub on the official Erlang repository: diff --git a/_news/146.md b/_news/146.md index 3e46254b695..f06de3c4c1a 100644 --- a/_news/146.md +++ b/_news/146.md @@ -63,14 +63,14 @@ Erlang/OTP 24 is a new major release with new features, improvements as well as can now provide documentation for shell_docs the same way that OTP libraries did since OTP 23.0. For more details about new features and potential incompatibilities see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/147.md b/_news/147.md index 379f67412c5..bff22c1f6c5 100644 --- a/_news/147.md +++ b/_news/147.md @@ -68,14 +68,14 @@ Erlang/OTP 24 is a new major release with new features, improvements as well as can now provide documentation for shell_docs the same way that OTP libraries did since OTP 23.0. For more details about new features and potential incompatibilities see - + Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: - + The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/148.md b/_news/148.md index 8b2c170cf9c..830d1ff0873 100644 --- a/_news/148.md +++ b/_news/148.md @@ -68,14 +68,14 @@ Below are some of the highlights of the release: the same way that OTP libraries did since OTP 23.0. For more details about new features and potential incompatibilities see -* +* Pre built versions for Windows can be fetched here: - - + + Online documentation can be browsed here: -* +* The Erlang/OTP source can also be found at GitHub on the official Erlang repository, diff --git a/_news/149.md b/_news/149.md index 5428d0e084c..e673deed7db 100644 --- a/_news/149.md +++ b/_news/149.md @@ -21,7 +21,7 @@ Below are some highlights of the release: ## Highlights -- **OTP**: [The Efficiency Guide](https://erlang.org/doc/efficiency_guide/users_guide.html) has been extended with a chapter about maps. +- **OTP**: [The Efficiency Guide](/doc/efficiency_guide/users_guide.html) has been extended with a chapter about maps. - **Stdlib**: Most output functions in the `io` module now print extra error information when provided with invalid arguments. diff --git a/_news/151.md b/_news/151.md index 9744985138d..7e95e2de260 100644 --- a/_news/151.md +++ b/_news/151.md @@ -14,28 +14,28 @@ We are pleased to announce the launch of the new erlang.org website! The design and content are roughly the same as the old website. The most notable changes are: * The blog is moved - * [erlang.org/blog](https://www.erlang.org/blog) + * * New downloads page with all patches - * [erlang.org/downloads](https://www.erlang.org/downloads) - * [erlang.org/downloads/24](https://www.erlang.org/downloads/24) - * [erlang.org/patches/OTP-24.1](https://www.erlang.org/patches/OTP-24.1) + * + * + * * The documentation has integrated full-text search by [algolia] - * [erlang.org/doc/](https://www.erlang.org/doc/) + * * Try searching for "lists", "erlang error" or "records" * Updated and "flattened" docs for more versions - * [erlang.org/docs/23/](https://www.erlang.org/docs/23/) - * [erlang.org/docs/17/](https://www.erlang.org/docs/17/) + * + * Some things from the old site has been removed: -* bugs.erlang.org has been removed and now redirects to [github.com/erlang/otp/issues](https://github.com/erlang/otp/issues) -* [erlang.org/erldoc](https://www.erlang.org/erldoc) and [erlang.org/doc/search](https://www.erlang.org/doc/search) have been replaced by algolia search +* bugs.erlang.org has been removed and now redirects to +* and have been replaced by algolia search * The events section has been removed -The new website is built using Erlang + Jekyll + Bootstrap and the code is available here: [github.com/erlang/erlang-org/](https://github.com/erlang/erlang-org/) +The new website is built using Erlang + Jekyll + Bootstrap and the code is available here: -Please report any problems that you find as issues on [github.com/erlang/erlang-org](https://github.com/erlang/erlang-org). +Please report any problems that you find as issues on . Lukas and the Erlang/OTP team -[algolia]: https://docsearch.algolia.com \ No newline at end of file +[algolia]: \ No newline at end of file diff --git a/_news/16.md b/_news/16.md index 32a78cfc467..faa65a4358b 100644 --- a/_news/16.md +++ b/_news/16.md @@ -13,5 +13,5 @@ article_type_id: "3" --- The 15:th Erlang User Conference (EUC) on November 12:th was a great success. This was the biggest EUC so far with around 250 partcipants. - More info from the conference can be seen on the [Erlang-factory ](http://www.erlang-factory.com/conference/ErlangUserConference2009)site. + More info from the conference can be seen on the [Erlang-factory site](http://www.erlang-factory.com/conference/ErlangUserConference2009). Many thanks to all the sponsors and especially to Erlang Training and Consulting for making the conference so successful. \ No newline at end of file diff --git a/_news/20.md b/_news/20.md index 3d2cfc70c11..2868bdf126c 100644 --- a/_news/20.md +++ b/_news/20.md @@ -14,15 +14,15 @@ article_type_id: "3" Erlang/OTP R15B has been released as planned on December 14:th 2011. - See the release notes in the [readme file](https://erlang.org/download/otp_src_R15B.readme). + See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R15B.readme). - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). **Highlights: ** * Line number and filename information are now included in exception backtraces. This information will be pretty-printed in the shell and used in crash reports etc. In practice it will be much easier to find where something failed. * The driver interface has been changed to enable 64-bit aware drivers. Most importantly the return types for ErlDrvEntry callbacks 'call' and 'control' has been changed which require drivers to be changed. -* New in this release is the support for 64 bit  Windows. The self extracting installer can be found [here](https://erlang.org/download/otp_win64_R15B.exe). +* New in this release is the support for 64 bit  Windows. The self extracting installer can be found [here](https://www.erlang.org/download/otp_win64_R15B.exe). * CommonTest hooks are now in a final supported version. * There is a new GUI tool in the observer application which integrates pman, etop, appmon and tv into one tool. The tool does also contain functions for activating tracing in an easy way. * The Erlang distribution can now be run over the new SSL implementation. diff --git a/_news/22.md b/_news/22.md index b4ed72dd87d..74acf47ce68 100644 --- a/_news/22.md +++ b/_news/22.md @@ -14,6 +14,6 @@ article_type_id: "3" **Erlang/OTP R14B01** has been released as planned on September 15:th 2010. It is the first R14 service release. - See the release notes in the [readme file](https://erlang.org/download/otp_src_R14B01.readme) + See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R14B01.readme) - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). diff --git a/_news/23.md b/_news/23.md index f9a45729b0f..1645148d573 100644 --- a/_news/23.md +++ b/_news/23.md @@ -16,7 +16,7 @@ article_type_id: "3" See the release notes in the [Read me](https://www.erlang.org/download/otp_src_R15B02.readme) - Download the new release from the [Downloads page](https://www.erlang.org/download.html) + Download the new release from the [Downloads page](/download.html) Or prebuilt packages from [Erlang Solutions Downloads page](http://www.erlang-solutions.com/downloads/download-erlang-otp) diff --git a/_news/27.md b/_news/27.md index c39a6d46abc..c8d18f0047c 100644 --- a/_news/27.md +++ b/_news/27.md @@ -16,7 +16,6 @@ article_type_id: "3" *Early Bird rates end on 11 February* -[http://www.erlang-factory.com/conference -](http://www.erlang-factory.com/conference/show/conference-6/home/#home) + Another first is the significant broadening of the range of training available before and after the conference. Besides the already traditional Erlang courses, this year participants are also offered courses on Elixir, Cowboy, Riak and Kazoo.  diff --git a/_news/30.md b/_news/30.md index 501d172b2ac..e47e961a94e 100644 --- a/_news/30.md +++ b/_news/30.md @@ -23,7 +23,7 @@ article_type_id: "3" The release contains many changes; thus, some unexpected incompatibilities or issues may have slipped through our tests. Please try to build and run your current products/applications and let us know about any problems. - Note! The new datatype MAP is not properly documented yet but the EEP 43 https://www.erlang.org/eeps/eep-0043.html will provide a good start. Also note that it is a limited implementation of maps implemented so far: + Note! The new datatype MAP is not properly documented yet but the EEP 43 /eeps/eep-0043.html will provide a good start. Also note that it is a limited implementation of maps implemented so far: * no variable keys are allowed * native code can not be generated for modules using maps @@ -47,9 +47,9 @@ article_type_id: "3" You can also find this release at the official Erlang/OTP Git-repository at Github here: tagged *OTP_17.0-rc1* - The Windows binary distribution can be downloaded from [https://www.erlang.org/download/otp_win64_17.0-rc1.exe ](https://www.erlang.org/download/otp_win64_17.0-rc1.exe) + The Windows binary distribution can be downloaded from and - You can also download the complete HTML documentation or the Unix manual files + You can also download the complete HTML documentation or the Unix manual files and We also want to thank those that sent us patches, suggestions and bug reports. diff --git a/_news/32.md b/_news/32.md index 91e9491e32e..5046c20e6b2 100644 --- a/_news/32.md +++ b/_news/32.md @@ -18,4 +18,4 @@ article_type_id: "3" * The documentation is built in a new way using xsltproc and Apache FOP. The layout is changed both in HTML and PDF versions. This is the first step, more changes and improvements will come in the following releases. * A completely new erlang.org web site (this one) is also on its way but slightly delayed. Will be launched really soon now. - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). diff --git a/_news/35.md b/_news/35.md index 3152b1ff707..0aa0899d575 100644 --- a/_news/35.md +++ b/_news/35.md @@ -14,6 +14,6 @@ article_type_id: "3" **Erlang/OTP R14A** has been released. R14A is a beta release before the R14B release which is planned for September 1:st. - See the release notes in the [readme file](https://erlang.org/download/otp_src_R14A.readme) + See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R14A.readme) - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). diff --git a/_news/38.md b/_news/38.md index 46bfabfad3c..1d567c4168a 100644 --- a/_news/38.md +++ b/_news/38.md @@ -29,7 +29,7 @@ article_type_id: "3" -[ https://www.erlang.org/download/otp_win64_17.5.exe ](https://www.erlang.org/download/otp_win64_17.5.exe) + You can also download the complete HTML documentation or the Unix manual files @@ -40,6 +40,6 @@ article_type_id: "3"   - You can find more detailed info and download the release at the [download](https://www.erlang.org/download.html) page + You can find more detailed info and download the release at the [download](/download.html) page The Erlang/OTP Team at Ericsson diff --git a/_news/4.md b/_news/4.md index 9e78b1db3ac..de6acb7ae50 100644 --- a/_news/4.md +++ b/_news/4.md @@ -14,9 +14,9 @@ article_type_id: "3" **Erlang/OTP R14B02** has been released as planned on March 16:th 2011. It is the second R14 service release. - See the release notes in the [readme file](https://erlang.org/download/otp_src_R14B02.readme) + See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R14B02.readme) - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). **Highlights:** * The "halfword" emulator is now official. A 64-bit emulator that uses less memory than the full 64-bit emulator. diff --git a/_news/40.md b/_news/40.md index 07de2e4d289..e4933e0c6f5 100644 --- a/_news/40.md +++ b/_news/40.md @@ -14,9 +14,9 @@ article_type_id: "3" **Erlang/OTP R14B03** has been released as planned on May 25:th 2011. It is the third R14 service release. - See the release notes in the [readme file](https://erlang.org/download/otp_src_R14B03.readme) + See the release notes in the [readme file](https://www.erlang.org/download/otp_src_R14B03.readme) - Download the new release from the [download page](https://erlang.org/download.html). + Download the new release from the [download page](/download/). **Highlights:** * Diameter is a brand new application in this release. The application support the diameter protocol specified in RFC 3588 and is intended to provide an Authentication, Authorization and Accounting (AAA) framework for applications.  diff --git a/_news/44.md b/_news/44.md index 3b5a83df234..1ca9a70e1c4 100644 --- a/_news/44.md +++ b/_news/44.md @@ -26,4 +26,4 @@ article_type_id: "3" * Miscellaneous unicode support enhancements * A new version scheme for OTP its applications has been introduced - You can find more information and download the release at the [download page](https://erlang.org/download.html). + You can find more information and download the release at the [download page](/download/). diff --git a/_news/45.md b/_news/45.md index 40047434372..1082a05c677 100644 --- a/_news/45.md +++ b/_news/45.md @@ -12,6 +12,6 @@ visible: "true" article_type_id: "3" --- - Try the new document search at [/doc.html](/doc.html), right column text box. + Try the new document search at [https://www.erlang.org/doc/](/doc/), right column text box. It is a preliminary version that searches for the given words as a module, function or application in the documentation and gives you a hit list with links into the online documentation. diff --git a/_news/47.md b/_news/47.md index 53ef80967bd..8bb27b865a7 100644 --- a/_news/47.md +++ b/_news/47.md @@ -41,7 +41,7 @@ tst.erl:1: cannot parse file, giving up tst.erl:1: no module definition tst.erl: The 17.0 release contains many changes; thus, some unexpected incompatibilities or issues may have slipped through our tests. Please try to build and run your current products/applications and let us know about any problems. - Note! The new datatype MAP is not properly documented yet but the EEP 43 https://www.erlang.org/eeps/eep-0043.html will provide a good start. Also note that it is a limited implementation of maps implemented so far: + Note! The new datatype MAP is not properly documented yet but the EEP 43 /eeps/eep-0043.html will provide a good start. Also note that it is a limited implementation of maps implemented so far: * no variable keys are allowed * native code can not be generated for modules using maps @@ -68,8 +68,7 @@ tst.erl:1: cannot parse file, giving up tst.erl:1: no module definition tst.erl: The Windows binary distribution can be downloaded from -[ - https://www.erlang.org/download/otp_win64_17.0-rc2.exe ](https://www.erlang.org/download/otp_win64_17.0-rc2.exe) + and You can also download the complete HTML documentation or the Unix manual files diff --git a/_news/48.md b/_news/48.md index a3e011493de..af0df37be39 100644 --- a/_news/48.md +++ b/_news/48.md @@ -13,4 +13,4 @@ article_type_id: "3" **ACM SIGPLAN Erlang Workshop ** - The Tenth ACM SIGPLAN Erlang Workshop will take place in Tokyo, Japan, on September 23, 2011. Please see the call for papers [here](https://www.erlang.org/workshop/2011/) . + The Tenth ACM SIGPLAN Erlang Workshop will take place in Tokyo, Japan, on September 23, 2011. Please see the call for papers [here](/workshop/2011/) . diff --git a/_news/49.md b/_news/49.md index c320f96ea3c..07184d95fb6 100644 --- a/_news/49.md +++ b/_news/49.md @@ -13,7 +13,5 @@ article_type_id: "3" *The Zurich Erlang Factory Lite is back! Join us for a day of expert Erlang/Riak/Elixir talks on 10 April and three days of training on Erlang and OTP (7-9 April). Call for talks is open until 21 February.* -   -[http://www.erlang-factory.com/conference -](http://www.erlang-factory.com/conference/show/conference-22/home/) + diff --git a/_news/5.md b/_news/5.md index 0d922d1ac0c..f4053b691a7 100644 --- a/_news/5.md +++ b/_news/5.md @@ -14,6 +14,6 @@ article_type_id: "3" The Erlang Extension Proposals have been rewritten in Markdown format - They can be found at github and are readable online at [/eeps/](/eeps/). + They can be found at github and are readable online at [https://www.erlang.org/eeps/](/eeps/). Read about it at [EEP](/eep.html). diff --git a/_news/51.md b/_news/51.md index 6d26038e86f..91893cb85e9 100644 --- a/_news/51.md +++ b/_news/51.md @@ -58,13 +58,11 @@ article_type_id: "3" Git tag OTP-18.0-rc1 -[https://github.com/erlang/otp/tree/OTP-18.0-rc1 -](https://github.com/erlang/otp/tree/OTP-18.0-rc1) + You can also read the documentation on-line here: (see the Release Notes mentioned above for release notes which are not updated in the doc, but the new functionality is) -[https://www.erlang.org/documentation/doc-7.0-rc1/doc/ -](https://www.erlang.org/documentation/doc-7.0-rc1/doc/) + We also want to thank those that sent us patches, suggestions and bug reports. diff --git a/_news/52.md b/_news/52.md index 4d441654110..74e9f48e407 100644 --- a/_news/52.md +++ b/_news/52.md @@ -17,6 +17,6 @@ article_type_id: "3" See the release notes in the [Read me](https://www.erlang.org/download/otp_src_R15B03.readme) - Download the new release from the [Downloads page](https://www.erlang.org/download.html) + Download the new release from the [Downloads page](/download.html) Or prebuilt packages from [Erlang Solutions Downloads page](http://www.erlang-solutions.com/downloads/download-erlang-otp) diff --git a/_news/54.md b/_news/54.md index 267b25c98db..d7a36c8dc96 100644 --- a/_news/54.md +++ b/_news/54.md @@ -2,7 +2,7 @@ layout: post id: 54 title: "Announcing Erlang.org Code of Conduct" -lead: "Erlang/OTP team, together with members of the community, has released a new code of conduct, available at https://www.erlang.org/download/erlang_org_code_of_conduct.txt" +lead: "Erlang/OTP team, together with members of the community, has released a new code of conduct, available at /download/erlang_org_code_of_conduct.txt" tags: "CodeOfConduct" date: "2015-03-13" created_at: "2015-03-13T15:03:01Z" diff --git a/_news/55.md b/_news/55.md index 38db26e1c50..4dd4a5997b9 100644 --- a/_news/55.md +++ b/_news/55.md @@ -22,4 +22,4 @@ article_type_id: "3" * Support for user defined prompt in the shell. A small but useful new function. * Enhanced cross compilation support - Download the new release from the [download page.](https://erlang.org/download.html) + Download the new release from the [download page.](/download/) diff --git a/_news/58.md b/_news/58.md index 194a4fa3da5..0e8c28482ea 100644 --- a/_news/58.md +++ b/_news/58.md @@ -12,4 +12,4 @@ visible: "true" article_type_id: "3" --- - FlowForwarding.org has announced the availability of LINC, an Erlang based open source soft switch implementing the 1.2 version of the OpenFlow standard. The LINC switch has now been released as commercial friendly open source through the FlowForwarding.org community website, encouraging users and vendors to use LINC and contribute to its development. The initial LINC implementation focuses on correctness and feature compliance. Through an abstraction layer, specialized network hardware drivers can be easily interfaced to LINC. It has been implemented by using the power and flexibility of the Erlang programming language and software environment. Erlang allows for rapid industrial strength implementations, a key requirement for developing and deploying an evolving technology such as OpenFlow. For more information, visit [FlowForwarding.org](http://www.FlowForwarding.org). + FlowForwarding.org has announced the availability of LINC, an Erlang based open source soft switch implementing the 1.2 version of the OpenFlow standard. The LINC switch has now been released as commercial friendly open source through the FlowForwarding.org community website, encouraging users and vendors to use LINC and contribute to its development. The initial LINC implementation focuses on correctness and feature compliance. Through an abstraction layer, specialized network hardware drivers can be easily interfaced to LINC. It has been implemented by using the power and flexibility of the Erlang programming language and software environment. Erlang allows for rapid industrial strength implementations, a key requirement for developing and deploying an evolving technology such as OpenFlow. For more information, visit . diff --git a/_news/59.md b/_news/59.md index dcfe3b0701c..26f72db909a 100644 --- a/_news/59.md +++ b/_news/59.md @@ -17,7 +17,7 @@ article_type_id: "3" See the release notes in the [Read me](https://www.erlang.org/download/otp_src_R15B01.readme) - Download the new release from the [Downloads page](https://www.erlang.org/download.html) + Download the new release from the [Downloads page](/download.html) **Highlights: ** diff --git a/_news/7.md b/_news/7.md index fc0bb362e1d..0992d910909 100644 --- a/_news/7.md +++ b/_news/7.md @@ -13,4 +13,4 @@ article_type_id: "3" --- The program for the Tenth ACM SIGPLAN Erlang Workshop on Friday September 23, 2011, in Tokyo, Japan, - has been released. Please see the program [here](https://www.erlang.org/workshop/2011/). + has been released. Please see the program [here](/workshop/2011/). diff --git a/_news/86.md b/_news/86.md index 7abc458e123..20f99ea4b38 100644 --- a/_news/86.md +++ b/_news/86.md @@ -19,7 +19,7 @@ Some highlights of the release are: * Starting from 18.0 Erlang/OTP is released under the Apache License 2.0 * erts: The time functionality has been extended. This includes a new API for  time, as well as "time warp" modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is a scalability bottleneck.  - For more information see the Time and Time Correction chapter of the ERTS User's Guide. Here is a link[https://www.erlang.org/doc/apps/erts/time_correction.html](/doc/apps/erts/time_correction.html) + For more information see the Time and Time Correction chapter of the ERTS User's Guide. Here is a link [https://www.erlang.org/doc/apps/erts/time_correction.html](/doc/apps/erts/time_correction.html) * erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are:  * scheduler specific timer wheels,  * scheduler specific BIF timer management,  * parallel retrieval of monotonic time and system time on OS:es that support it. diff --git a/_news/9.md b/_news/9.md index 86ced14e171..e32864d1298 100644 --- a/_news/9.md +++ b/_news/9.md @@ -31,6 +31,6 @@ article_type_id: "3" Many thanks to 24 different contributors in this release - You can find more info and download the release at the [download page](https://erlang.org/download.html). + You can find more info and download the release at the [download page](/download/).   diff --git a/_posts/2018-11-07-retired-pitfalls-22.md b/_posts/2018-11-07-retired-pitfalls-22.md index b402d2743b4..e26115b6065 100644 --- a/_posts/2018-11-07-retired-pitfalls-22.md +++ b/_posts/2018-11-07-retired-pitfalls-22.md @@ -62,7 +62,7 @@ need to care about is yielding in the outer loops. This also had the nice side-effect of reducing the worst-case complexity from `O(n²)` to `O(n log n)` and let us remove some warnings from the reference -manual and [efficiency guide](https://erlang.org/documentation/doc-10.1/doc/efficiency_guide/commoncaveats.html#operator-----). It's worth noting +manual and [efficiency guide](https://www.erlang.org/documentation/doc-10.1/doc/efficiency_guide/commoncaveats.html#operator-----). It's worth noting that the new implementation is always faster than the proposed workarounds, and that it falls back to the old algorithm when it's faster to do so. diff --git a/_posts/2018-4-26-compiler-lost-in-translation.md b/_posts/2018-4-26-compiler-lost-in-translation.md index f28a2fe33b1..49001b02700 100644 --- a/_posts/2018-4-26-compiler-lost-in-translation.md +++ b/_posts/2018-4-26-compiler-lost-in-translation.md @@ -151,7 +151,7 @@ a comment, it would have been lost too. To read more details about tokens, see [erl_scan:string/1]. -[erl_scan:string/1]: https://erlang.org/doc/man/erl_scan.html#string-1 +[erl_scan:string/1]: /doc/man/erl_scan.html#string-1 ### Preprocessing the tokens ### @@ -183,7 +183,7 @@ makes the evaluation order unambiguous. See [The Abstract Format] for more details about the abstract format. -[The Abstract Format]: https://erlang.org/doc/apps/erts/absform.html +[The Abstract Format]: /doc/apps/erts/absform.html [parse tree]: ../images/compiler-2018-04-26.svg ### Pretty-printing using erl_pp ### @@ -202,7 +202,7 @@ Here the pretty printer has inserted one pair of parentheses, but the redundant pair of parentheses in the original expression has been lost. The whitespace is also different from the original. -[erl_pp]: https://erlang.org/doc/man/erl_pp.html +[erl_pp]: /doc/man/erl_pp.html ### A quick look at the preprocessor ### @@ -220,7 +220,7 @@ replace those tokens with the token: [{atom,1,trivial}] -[epp]: https://erlang.org/doc/man/epp.html +[epp]: /doc/man/epp.html ## The other passes operating on the abstract format ## @@ -233,8 +233,8 @@ other passes in the front end. The `transform_module` pass runs parse transforms, for example for [QLC] or [ms_transform]. -[QLC]: https://erlang.org/doc/man/qlc.html -[ms_transform]: https://erlang.org/doc/man/ms_transform.html +[QLC]: /doc/man/qlc.html +[ms_transform]: /doc/man/ms_transform.html ### The lint_module pass ### @@ -266,7 +266,7 @@ bug.erl:5: variable 'B' is unbound $ ``` -[erl_lint]: https://erlang.org/doc/man/erl_lint.html +[erl_lint]: /doc/man/erl_lint.html ### Translating records ### @@ -303,7 +303,7 @@ The `-record()` declaration is still there, but the construction of the record has been replaced with construction of a tuple. Similarly, matching of records will be translated to matching of tuples. -[erl_expand_records]: https://erlang.org/doc/man/erl_expand_records.html +[erl_expand_records]: /doc/man/erl_expand_records.html ## Tip: Producing a single source file using -P ## diff --git a/_posts/2018-5-02-Memory-instrumentation-in-OTP-21.md b/_posts/2018-5-02-Memory-instrumentation-in-OTP-21.md index e7cb5b4a1ef..00662ad3025 100644 --- a/_posts/2018-5-02-Memory-instrumentation-in-OTP-21.md +++ b/_posts/2018-5-02-Memory-instrumentation-in-OTP-21.md @@ -142,4 +142,4 @@ For those who'd like to know more about how our memory allocators work, Lukas Larsson's [talk at EUC 2014](https://erlangcentral.org/videos/euc-2014-lukas-larsson-memory-allocators-in-the-vm-memory-management-battle-stories/) is a good primer. Our internal documentation on [carrier migration](https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/CarrierMigration.md) and [inter-thread deallocation](https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/DelayedDealloc.md) may also be of interest. -The PR implementing this change can be found [here](https://github.com/erlang/otp/pull/1790), and the documentation for the old instrumentation module can be found [here](https://erlang.org/documentation/doc-9.3/lib/tools-2.11.2/doc/html/instrument.html). +The PR implementing this change can be found [here](https://github.com/erlang/otp/pull/1790), and the documentation for the old instrumentation module can be found [here](https://www.erlang.org/documentation/doc-9.3/lib/tools-2.11.2/doc/html/instrument.html). diff --git a/_posts/2018-5-02-My-OTP-21-Highlights.md b/_posts/2018-5-02-My-OTP-21-Highlights.md index e83e6d883e2..083ad9e698d 100644 --- a/_posts/2018-5-02-My-OTP-21-Highlights.md +++ b/_posts/2018-5-02-My-OTP-21-Highlights.md @@ -10,7 +10,7 @@ through the changes that I am the most excited about. Most likely this will mostly mean features in erts and the core libraries as those are the changes that I am the most familiar with. -You can download the readme describing the changes here: [OTP 21-RC1 Readme](https://erlang.org/download/otp_src_21.0-rc1.readme). +You can download the readme describing the changes here: [OTP 21-RC1 Readme](https://www.erlang.org/download/otp_src_21.0-rc1.readme). Or, as always, look at the release notes of the application you are interested in. For instance here: [OTP 21-RC1 Erts Release Notes](/doc/apps/erts/notes.html). @@ -124,7 +124,7 @@ logger](https://docs.python.org/3/howto/logging.html) works. With logger the logging handlers can intercept the logging call in the process that does the actual call instead of having to wait for a message. This opens up all sorts of possibilities of early -rejection of log messages in case of an overload, see [Logger User's Guide](https://erlang.org/documentation/doc-10.0-rc1/lib/kernel-6.0/doc/html/logger_chapter.html#protecting-the-handler-from-overload) +rejection of log messages in case of an overload, see [Logger User's Guide](https://www.erlang.org/documentation/doc-10.0-rc1/lib/kernel-6.0/doc/html/logger_chapter.html#protecting-the-handler-from-overload) for more details. The user can also add special purpose filters that are run before the handler is invoked in order to silence or amend log messages in the system. diff --git a/_posts/2018-5-07-core-erlang-by-example.md b/_posts/2018-5-07-core-erlang-by-example.md index 11f2c5f82f4..cc78c778061 100644 --- a/_posts/2018-5-07-core-erlang-by-example.md +++ b/_posts/2018-5-07-core-erlang-by-example.md @@ -444,7 +444,7 @@ Core Erlang is less complicated than Erlang, and is therefore more suited than the abstract format for code analyzing tools (such as [Dialyzer][dialyzer]) and optimizers. -[dialyzer]: https://erlang.org/doc/apps/dialyzer/dialyzer_chapter.html +[dialyzer]: /doc/apps/dialyzer/dialyzer_chapter.html ## To learn more about Core Erlang diff --git a/_posts/2018-5-30-core-erlang-wrapup.md b/_posts/2018-5-30-core-erlang-wrapup.md index a6d97817e72..dde340f309e 100644 --- a/_posts/2018-5-30-core-erlang-wrapup.md +++ b/_posts/2018-5-30-core-erlang-wrapup.md @@ -184,7 +184,7 @@ Guide][efficiency_guide]. `sys_core_bsm` adds annotations that are later used by `v3_codegen` and `beam_bsm` to optimize matching of binaries. -[efficiency_guide]: https://erlang.org/doc/efficiency_guide/binaryhandling.html +[efficiency_guide]: /doc/efficiency_guide/binaryhandling.html ### sys_core_dsetel diff --git a/_posts/2018-8-24-opt-traps-and-pitfalls.md b/_posts/2018-8-24-opt-traps-and-pitfalls.md index 09e0823986d..fabf377aa54 100644 --- a/_posts/2018-8-24-opt-traps-and-pitfalls.md +++ b/_posts/2018-8-24-opt-traps-and-pitfalls.md @@ -262,7 +262,7 @@ more circumstances. It turned out that would it be hard or impossible to substantially improve the optimization by working on BEAM assembly language. -[bin_matching]: https://erlang.org/doc/efficiency_guide/binaryhandling.html#matching-binaries +[bin_matching]: /doc/efficiency_guide/binaryhandling.html#matching-binaries Apart from the problem of leaving undefined registers, as illustrated in the previous optimization example, there is also the complexity of diff --git a/_posts/2018-9-28-ssa-history.md b/_posts/2018-9-28-ssa-history.md index 3e7dcd5feec..ffc48144180 100644 --- a/_posts/2018-9-28-ssa-history.md +++ b/_posts/2018-9-28-ssa-history.md @@ -610,7 +610,7 @@ seeing during my bug hunt generated code that stored off-heap message references on the stack. [rickard]: https://github.com/rickard-green -[process_flag]: https://erlang.org/doc/man/erlang.html#process_flag-2 +[process_flag]: /doc/man/erlang.html#process_flag-2 [lukas_gc]: https://github.com/erlang/otp/blob/OTP-21.0.9/erts/emulator/internal_doc/GarbageCollection.md [bad_receive]: https://github.com/erlang/otp/blob/333e4c5a1406cdeb9d1d5cf9bf4a4fadb232fca8/lib/compiler/test/beam_validator_SUITE_data/receive_stacked.S#L22 @@ -850,7 +850,7 @@ On Aug 24 I [merged][merged_ssa] the pull request. [pr1935]: https://github.com/erlang/otp/pull/1935 -[bin_matching]: https://erlang.org/doc/efficiency_guide/binaryhandling.html#matching-binaries +[bin_matching]: /doc/efficiency_guide/binaryhandling.html#matching-binaries [ssa]: https://en.wikipedia.org/wiki/Static_single_assignment_form @@ -862,7 +862,7 @@ On Aug 24 I [merged][merged_ssa] the pull request. [beam_kernel_to_ssa_finalize]: https://github.com/erlang/otp/blob/6bee2ac7d11668888d93ec4f93730bcae3e5fa79/lib/compiler/src/beam_kernel_to_ssa.erl#L1231 -[dialyzer]: https://erlang.org/doc/apps/dialyzer/index.html +[dialyzer]: /doc/apps/dialyzer/index.html [linear_scan_polleto]: http://web.cs.ucla.edu/~palsberg/course/cs132/linearscan.pdf [linear_scan_references]: https://github.com/erlang/otp/blob/494cb3be4a98653c212d673008085bc3ea70dc7e/lib/compiler/src/beam_ssa_pre_codegen.erl#L52 diff --git a/_posts/2019-5-13-OTP-22-Highlights.md b/_posts/2019-5-13-OTP-22-Highlights.md index 9a45ea1ae08..9d62f454dff 100644 --- a/_posts/2019-5-13-OTP-22-Highlights.md +++ b/_posts/2019-5-13-OTP-22-Highlights.md @@ -15,7 +15,7 @@ This blog post will describe some highlights of what is released in OTP 22 and in OTP 21 maintenance patches. You can download the readme describing the changes here: -[OTP 22 Readme](https://erlang.org/download/otp_src_22.0.readme). +[OTP 22 Readme](https://www.erlang.org/download/otp_src_22.0.readme). Or, as always, look at the release notes of the application you are interested in. For instance here: [OTP 22 Erts Release Notes](/doc/apps/erts/notes.html). diff --git a/_posts/2020-10-27-a-closer-look-at-the-interpreter.md b/_posts/2020-10-27-a-closer-look-at-the-interpreter.md index 4576b2bd4e2..d3118d74abf 100644 --- a/_posts/2020-10-27-a-closer-look-at-the-interpreter.md +++ b/_posts/2020-10-27-a-closer-look-at-the-interpreter.md @@ -186,7 +186,7 @@ avoids these issues. [directly threaded code]: https://en.wikipedia.org/wiki/Threaded_code [`ops.tab`]: https://github.com/erlang/otp/blob/OTP-23.1/erts/emulator/beam/ops.tab [`beam_makeops`]: https://github.com/erlang/otp/blob/OTP-23.1/erts/emulator/utils/beam_makeops -[documentation for the `beam_makeops` script]: https://erlang.org/doc/apps/erts/beam_makeops.html +[documentation for the `beam_makeops` script]: /doc/apps/erts/beam_makeops.html [`move2_par`]: https://github.com/erlang/otp/blob/OTP-23.1/erts/emulator/beam/instrs.tab#L577 [`is_nonempty_list_get_list`]: https://github.com/erlang/otp/blob/OTP-23.1/erts/emulator/beam/instrs.tab#L795 [`perf`]: https://en.wikipedia.org/wiki/Perf_%28Linux%29 diff --git a/_posts/2020-12-01-the-road-to-the-jit.md b/_posts/2020-12-01-the-road-to-the-jit.md index 5912e19ce6e..5f87f6b95d6 100644 --- a/_posts/2020-12-01-the-road-to-the-jit.md +++ b/_posts/2020-12-01-the-road-to-the-jit.md @@ -127,7 +127,7 @@ runtime of those systems is typically dominated by some combination of message passing, calls to the [ETS BIFs][ets], and garbage collection, none of which HiPE can optimize. -[ets]: https://erlang.org/doc/man/ets.html +[ets]: /doc/man/ets.html Another reason could be that big systems typically have many small modules. The HiPE native compiler (in common with the Erlang @@ -191,17 +191,17 @@ contributions from the HiPE project to OTP: be nice for [Wings3D][wings3d] to have floating-point literals. The OTP team implemented literal pools in OTP R12. -[dialyzer]: https://erlang.org/doc/apps/dialyzer/index.html +[dialyzer]: /doc/apps/dialyzer/index.html [newtags]: http://www.it.uu.se/research/publications/reports/2000-029/2000-029-nc.pdf [bitstrings]: http://user.it.uu.se/%7Epergu/papers/erlang05.pdf [core]: https://www.it.uu.se/research/group/hipe/cerl/doc/core_erlang-1.0.3.pdf [core_introduction]: http://www.erlang.se/workshop/carlsson.ps [core_by_example]: http://blog.erlang.org/core-erlang-by-example -[exception]: https://erlang.org/workshop/2004/exception.pdf +[exception]: /workshop/2004/exception.pdf [richcarl]: https://github.com/richcarl [wings3d]: http://www.wings3d.com [pool]: https://en.wikipedia.org/wiki/Literal_pool -[cprof]: https://erlang.org/doc/man/cprof.html +[cprof]: /doc/man/cprof.html ### The Tracing JIT projects (BEAMJIT) @@ -394,7 +394,7 @@ The pull request was merged on September 22. [beamasm]: https://github.com/erlang/otp/pull/2745 [jit_presentation]: https://www.youtube.com/watch?v=lM7UV95Rpyo [perf]: https://en.wikipedia.org/wiki/Perf_(Linux) -[process_flag]: https://erlang.org/doc/man/erlang.html#process_flag-2 +[process_flag]: /doc/man/erlang.html#process_flag-2 ### The Future @@ -415,7 +415,7 @@ for future releases: * Introducing new instructions for binary matching and/or construction to help the JIT generate better code. -[ssa]: https://blog.erlang.org/ssa-history/ +[ssa]: /blog/ssa-history/ [john]: https://github.com/jhogberg [lukas]: https://github.com/garazdawi diff --git a/_posts/2020-5-13-OTP-23-Highlights.md b/_posts/2020-5-13-OTP-23-Highlights.md index 33614d89a69..47c54aa2039 100644 --- a/_posts/2020-5-13-OTP-23-Highlights.md +++ b/_posts/2020-5-13-OTP-23-Highlights.md @@ -14,7 +14,7 @@ which has revealed some bugs and flaws that our internal testing did not find. This blog post will describe some highlights of what is new in OTP 23. You can download the readme describing the changes here: -[OTP 23 Readme](https://erlang.org/download/otp_src_23.0.readme). +[OTP 23 Readme](https://www.erlang.org/download/otp_src_23.0.readme). Or, as always, look at the release notes of the application you are interested in. For instance here: [OTP 23 Erts Release Notes](/doc/apps/erts/notes.html). @@ -140,7 +140,7 @@ ERL_FLAGS="-kernel inet_backend socket" ``` # Help in the shell -We have implemented [EEP 48](https://erlang.org/eeps/eep-0048.html) which specifies a storage format for API documentation to be used by BEAM languages. By standardizing how API documentation is stored, it will be possible to write tools that work across languages. +We have implemented [EEP 48](/eeps/eep-0048.html) which specifies a storage format for API documentation to be used by BEAM languages. By standardizing how API documentation is stored, it will be possible to write tools that work across languages. The ordinary doc build is extended with the generation of `.chunk` files for all OTP modules. You can run `make docs DOC_TARGETS=chunks` to build only the EEP 48 chunks. Running just `make docs` without setting the DOC_TARGETS variable will build all formats (html, man, pdf, chunks). diff --git a/_posts/2021-03-19-message-passing.md b/_posts/2021-03-19-message-passing.md index f926cd0c130..cff87e480bd 100644 --- a/_posts/2021-03-19-message-passing.md +++ b/_posts/2021-03-19-message-passing.md @@ -208,6 +208,6 @@ await_result(Mref) -> end. ``` -[defined order]: https://erlang.org/doc/apps/erts/communication.html#passing-of-signals -[message_queue_data]: https://erlang.org/doc/man/erlang.html#process_flag_message_queue_data +[defined order]: /doc/apps/erts/communication.html#passing-of-signals +[message_queue_data]: /doc/man/erlang.html#process_flag_message_queue_data [these scenarios]: https://en.wikipedia.org/wiki/Network_partition diff --git a/_posts/2021-08-03-scalable-ets-counters.md b/_posts/2021-08-03-scalable-ets-counters.md index 470e74c1589..8a5f8e6448a 100644 --- a/_posts/2021-08-03-scalable-ets-counters.md +++ b/_posts/2021-08-03-scalable-ets-counters.md @@ -6,11 +6,11 @@ author: Kjell Winblad --- A shared [Erlang Term Storage -(ETS)](https://erlang.org/doc/man/ets.html) table is often an +(ETS)](/doc/man/ets.html) table is often an excellent place to store data that is updated and read from multiple Erlang processes frequently. ETS provides key-value stores to Erlang processes. When the -[write_concurrency](https://erlang.org/doc/man/ets.html#new-2) option +[write_concurrency](/doc/man/ets.html#new-2) option is activated, ETS tables use fine-grained locking internally. Therefore, a scenario where multiple processes insert and remove different items in an ETS table should scale well with the @@ -20,7 +20,7 @@ how the `decentralized_counters` option brings us one step closer to perfect scalability. The ETS table option -[`decentralized_counters`](https://erlang.org/doc/man/ets.html#new-2) +[`decentralized_counters`](/doc/man/ets.html#new-2) (introduced in Erlang/OTP 22 for `ordered_set` tables and in Erlang/OTP 23 for the other table types) has made the scalability much better. A table with `decentralized_counters` activated uses @@ -29,9 +29,9 @@ number of items in the table and the memory consumption. Unfortunately, tables with `decentralized_counters` activated will have slow operations to get the table size and memory usage ([`ets:info(Table, -size)`](https://erlang.org/doc/man/ets.html#info-2) and +size)`](/doc/man/ets.html#info-2) and [`ets:info(Table, -memory)`](https://erlang.org/doc/man/ets.html#info-2)), so whether it +memory)`](/doc/man/ets.html#info-2)), so whether it is beneficial to turn `decentralized_counters` on or off depends on your use case. This blog post will give you a better understanding of when one should activate the `decentralized_counters` option and how @@ -96,9 +96,9 @@ When designing the decentralized counters for ETS, we have tried to optimize for update performance and scalability as most applications need to get the size of an ETS table relatively rarely. However, since there may be applications out in the wild that frequently call -[`ets:info(Table, size)`](https://erlang.org/doc/man/ets.html#info-2) +[`ets:info(Table, size)`](/doc/man/ets.html#info-2) and [`ets:info(Table, -memory)`](https://erlang.org/doc/man/ets.html#info-2), we have chosen +memory)`](/doc/man/ets.html#info-2), we have chosen to make decentralized counters optional. Another thing that might be worth keeping in mind is that the @@ -134,7 +134,7 @@ not need to do anything else, so they are very efficient and can scale perfectly with the number of cores as long as there are as many slots as schedulers. One can configure the maximum number of slots in the array of counters with the -[`+dcg`](https://erlang.org/doc/man/erl.html) option. +[`+dcg`](/doc/man/erl.html) option. To implement the `ets:info(Table, size)` and `ets:info(Table, memory)` operations, one also needs to read the current counter value. Reading diff --git a/_posts/2021-11-05-parallel-signal-sending-optimization.md b/_posts/2021-11-05-parallel-signal-sending-optimization.md index 5b7653a5d66..e6eff4c9fd9 100644 --- a/_posts/2021-11-05-parallel-signal-sending-optimization.md +++ b/_posts/2021-11-05-parallel-signal-sending-optimization.md @@ -404,9 +404,9 @@ contention is low as it is only activated when its contention detection mechanism indicates that the contention is high. -[sig_ord]: https://erlang.org/doc/reference_manual/processes.html#signal-delivery +[sig_ord]: /doc/reference_manual/processes.html#signal-delivery [parallel_sig_pr]: https://github.com/erlang/otp/pull/5020 [sig_q_bench_page]: http://winsh.me/bench/erlang_sig_q/sigq_bench_result.html -[erl_com]: https://erlang.org/doc/apps/erts/communication.html +[erl_com]: /doc/apps/erts/communication.html [hamt]: https://en.wikipedia.org/wiki/Hash_array_mapped_trie -[off_heap_setting]: https://erlang.org/doc/man/erlang.html#spawn_opt-4 +[off_heap_setting]: /doc/man/erlang.html#spawn_opt-4 diff --git a/_posts/2021-5-12-My-OTP-24-Highlights.md b/_posts/2021-5-12-My-OTP-24-Highlights.md index 871b2126bdf..88ceb884bf8 100644 --- a/_posts/2021-5-12-My-OTP-24-Highlights.md +++ b/_posts/2021-5-12-My-OTP-24-Highlights.md @@ -31,12 +31,12 @@ This years highlights are: * [Edwards-curve Digital Signature Algorithm](#edwards-curve-digital-signature-algorithm) [about 10 years]: https://vimeo.com/44231138 -[Erlang/OTP 24 Readme]: https://erlang.org/download/otp_src_24.0.readme -[Erlang/OTP 24 - Erts Release Notes - Version 12.0]: https://erlang.org/doc/apps/erts/notes.html#erts-12.0 +[Erlang/OTP 24 Readme]: https://www.erlang.org/download/otp_src_24.0.readme +[Erlang/OTP 24 - Erts Release Notes - Version 12.0]: /doc/apps/erts/notes.html#erts-12.0 [AsmJit]: https://asmjit.com/ -[As]: https://blog.erlang.org/My-OTP-21-Highlights/ -[tradition]: https://blog.erlang.org/OTP-22-Highlights/ -[now]: https://blog.erlang.org/OTP-23-Highlights/ +[As]: /blog/My-OTP-21-Highlights/ +[tradition]: /blog/OTP-22-Highlights/ +[now]: /blog/OTP-23-Highlights/ # BeamAsm - the JIT compiler for Erlang # @@ -44,9 +44,9 @@ The most anticipated feature of Erlang/OTP 24 has to be the JIT compiler. A lot has already been said about it: * [Initial PR](https://github.com/erlang/otp/pull/2745) -* [A first look at the JIT](https://blog.erlang.org/a-first-look-at-the-jit/) -* [Further adventures in the JIT](https://blog.erlang.org/jit-part-2/) -* [The Road to the JIT](https://blog.erlang.org/the-road-to-the-jit/) +* [A first look at the JIT](/blog/a-first-look-at-the-jit/) +* [Further adventures in the JIT](/blog/jit-part-2/) +* [The Road to the JIT](/blog/the-road-to-the-jit/) * [BeamAsm, the Erlang JIT](/doc/apps/erts/BeamAsm.html) and even before released the WhatsApp team has [shown what it is capable of]. @@ -119,7 +119,7 @@ source code lines instead of only functions when using [perf report] and [shown what it is capable of]: https://twitter.com/garazdawi/status/1385263924803735556 [perf]: https://perf.wiki.kernel.org/index.php/Main_Page [gdb]: https://www.gnu.org/software/gdb/ -[eprof]: https://erlang.org/doc/man/eprof.html +[eprof]: /doc/man/eprof.html [perf report]: https://man7.org/linux/man-pages/man1/perf-report.1.html [hotspot]: https://github.com/KDAB/hotspot [speedscope]: https://twitter.com/michalslaski/status/1391381431335669765 @@ -184,7 +184,7 @@ would give very cryptic error messages: In the example above, the only thing we know is that one or more of the arguments are invalid, but without checking -[the documentation](https://erlang.org/doc/man/erlang.html#element-2) +[the documentation](/doc/man/erlang.html#element-2) there is no way of knowing which one and why. This is especially a problem for BIFs where the arguments may fail for different reasons depending on factors not visible in the arguments. For example in the `ets:update_counter` call below: @@ -244,8 +244,8 @@ by any application that wants to provide extra information about their exception For example, we have been working on providing better error information around `io:format` in [PR-4757](https://github.com/erlang/otp/pull/4757). -[EEP-54]: https://www.erlang.org/erlang-enhancement-proposals/eep-0054.html -[BIFs]: https://erlang.org/doc/reference_manual/functions.html#built-in-functions--bifs- +[EEP-54]: /eeps/eep-0054.html +[BIFs]: /doc/reference_manual/functions.html#built-in-functions--bifs- # Improved receive optimizations # @@ -324,7 +324,7 @@ optimization is triggered! You can read more about this optimization and others in the [Efficiency Guide]. -[Efficiency Guide]: https://erlang.org/doc/efficiency_guide/processes.html#process-messages +[Efficiency Guide]: /doc/efficiency_guide/processes.html#process-messages # EEP-53: Process aliases # @@ -389,8 +389,8 @@ call(To, Msg, Tmo) -> You can read more about this functionality in the [alias documentation]. -[EEP-53]: https://www.erlang.org/erlang-enhancement-proposals/eep-0053.html -[alias documentation]: https://erlang.org/doc/reference_manual/processes.html#process-aliases +[EEP-53]: /eeps/eep-0053.html +[alias documentation]: /doc/reference_manual/processes.html#process-aliases # EEP-48: Documentation chunks for edoc # @@ -426,13 +426,13 @@ Eshell V11.2.1 (abort with ^G) For more information about how to enable this in your project see the [Doc chunks section in the Edoc User's Guide]. -[erl_docgen]: https://erlang.org/doc/man/erl_docgen_app.html -[EEP-48]: https://www.erlang.org/erlang-enhancement-proposals/eep-0048.html +[erl_docgen]: /doc/man/erl_docgen_app.html +[EEP-48]: /eeps/eep-0048.html [Erlang LS]: https://erlang-ls.github.io/ [Radek Szymczyszyn]: https://github.com/erszcz -[edoc]: https://erlang.org/doc/man/edoc.html +[edoc]: /doc/man/edoc.html [added]: https://github.com/erlang/otp/pull/2803 -[Doc chunks section in the Edoc User's Guide]: https://erlang.org/doc/apps/edoc/chapter.html#doc-chunks +[Doc chunks section in the Edoc User's Guide]: /doc/apps/edoc/chapter.html#doc-chunks # `socket` support in `gen_tcp` # @@ -473,11 +473,11 @@ to 4 times the throughput vs the old implementation. In others, there is no difference or even a loss of throughput. So, as always, you need to measure and check for yourself! -[gen_tcp]: https://erlang.org/doc/man/gen_tcp.html -[inet]: https://erlang.org/doc/man/inet.html -[inet:i/0]: https://erlang.org/doc/man/inet.html#i-0 -[socket]: https://erlang.org/doc/man/socket.html -[opaque]: https://erlang.org/doc/reference_manual/typespec.html#type-declarations-of-user-defined-types +[gen_tcp]: /doc/man/gen_tcp.html +[inet]: /doc/man/inet.html +[inet:i/0]: /doc/man/inet.html#i-0 +[socket]: /doc/man/socket.html +[opaque]: /doc/reference_manual/typespec.html#type-declarations-of-user-defined-types # EEP-56: Supervisor automatic shutdown # @@ -509,11 +509,11 @@ nor risking dead-locking itself during termination. You can read more about automatic shutdown in the [supervisor documentation]. -[ssl]: https://erlang.org/doc/man/ssl.html -[ssh]: https://erlang.org/doc/man/ssh.html -[EEP-56]: https://www.erlang.org/erlang-enhancement-proposals/eep-0056.html -[supervisor:terminate_child/2]: https://erlang.org/doc/man/supervisor.html#terminate_child-2 -[supervisor documentation]: https://erlang.org/doc/man/supervisor.html#auto_shutdown +[ssl]: /doc/man/ssl.html +[ssh]: /doc/man/ssh.html +[EEP-56]: /eeps/eep-0056.html +[supervisor:terminate_child/2]: /doc/man/supervisor.html#terminate_child-2 +[supervisor documentation]: /doc/man/supervisor.html#auto_shutdown # Edwards-curve Digital Signature Algorithm # @@ -545,5 +545,5 @@ Erlang/OTP 24 you will have access to this algorithm! [Edwards-curve Digital Signature Algorithm]: https://datatracker.ietf.org/doc/html/rfc8032 [OpenSSL]: https://www.openssl.org/ -[strong cryptographically secure random number]: https://erlang.org/doc/man/crypto.html#strong_rand_bytes-1 +[strong cryptographically secure random number]: /doc/man/crypto.html#strong_rand_bytes-1 [elliptic curve signature algorithm]: https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm diff --git a/_posts/README.md b/_posts/README.md index 6dbf143368d..138e49a8324 100644 --- a/_posts/README.md +++ b/_posts/README.md @@ -2,7 +2,7 @@ Blog posts are displayed under `/blog` and `/blog/{{title}}/`. -All images are located in [/blog/images]. If your post has many images, +All images are located in [https://www.erlang.org/blog/images](/blog/images). If your post has many images, place them in a folder dedicated to that blog post. Use the code below as a template: diff --git a/_redirects b/_redirects index 30296e48c5a..7228563fc15 100644 --- a/_redirects +++ b/_redirects @@ -13,6 +13,7 @@ /rss/news/* /news.xml /erlang-enhancement-proposals/home.html /eeps/ /erlang-enhancement-proposals/* /eeps/:splat +/download.html /download ## Redirects from old sites https://blog.erlang.org/feed.xml https://www.erlang.org/blog.xml 301! diff --git a/_releases/18.md b/_releases/18.md index c610d7afb40..d2e19e92a7d 100644 --- a/_releases/18.md +++ b/_releases/18.md @@ -7,7 +7,7 @@ release: 18 * Starting from 18.0 Erlang/OTP is released under the APL 2.0 (Apache Public License) * erts: The time functionality has been extended. This includes a new API for time, as well as "time warp" modes which alters the behavior when system time changes. You are strongly encouraged to use the new API instead of the old API based on erlang:now/0. erlang:now/0 has been deprecated since it is a scalability bottleneck. - For more information see the Time and Time Correction chapter of the ERTS User's Guide. Here is a [link](https://www.erlang.org/doc/apps/erts/time_correction.html). + For more information see the Time and Time Correction chapter of the ERTS User's Guide. Here is a [link](/doc/apps/erts/time_correction.html). * erts: Beside the API changes and time warp modes a lot of scalability and performance improvements regarding time management has been made. Examples are: * scheduler specific timer wheels, * scheduler specific BIF timer management, diff --git a/_releases/24.md b/_releases/24.md index 1b21b351471..8416e1ddbab 100644 --- a/_releases/24.md +++ b/_releases/24.md @@ -55,5 +55,5 @@ blog: _posts/2021-5-12-My-OTP-24-Highlights.md the same way that OTP libraries did since OTP 23.0. For more details about new features and potential incompatibilities see -- https://erlang.org/download/OTP-24.0.README +- https://www.erlang.org/download/OTP-24.0.README diff --git a/_scripts/src/create-releases.erl b/_scripts/src/create-releases.erl index 7af83082849..b2cc4387fb1 100644 --- a/_scripts/src/create-releases.erl +++ b/_scripts/src/create-releases.erl @@ -61,8 +61,8 @@ parse_erlang_org_downloads() -> download_erlang_org_downloads() -> {ok,{{_,200,_},Hdrs,Body}} = httpc:request( - get,{"https://erlang.org/download",[]}, - ssl_opts("https://erlang.org/download"),[]), + get,{"https://erlang.org/download/",[]}, + ssl_opts("https://erlang.org/download/"),[]), case lists:member({"content-encoding","gzip"}, Hdrs) of true -> zlib:gunzip(Body); diff --git a/about.md b/about.md index 35c2b4f2ceb..a0d38e40ae5 100644 --- a/about.md +++ b/about.md @@ -9,7 +9,7 @@ Erlang is a programming language originally developed at the Ericsson Computer S ### erlang.org -The source code for this webpage is available on [GitHub](https://github.com/erlang/erlang-org). It is built using [Erlang](https://erlang.org), [Jekyll](https://jekyllrb.com/), [Bootstrap 5](https://getbootstrap.com/docs/5.0/) and [Node.js](https://nodejs.org/). +The source code for this webpage is available on [GitHub](https://github.com/erlang/erlang-org). It is built using [Erlang](https://www.erlang.org), [Jekyll](https://jekyllrb.com/), [Bootstrap 5](https://getbootstrap.com/docs/5.0/) and [Node.js](https://nodejs.org/). ### License Since OTP 18.0, Erlang/OTP is released under Apache License 2.0. The older releases were released under Erlang Public License (EPL), a derivative work of the Mozilla Public License (MPL). diff --git a/community/mailinglists.md b/community/mailinglists.md index b10f84757c9..104371d152a 100644 --- a/community/mailinglists.md +++ b/community/mailinglists.md @@ -4,11 +4,11 @@ layout: markdown # Mailing list archives The erlang.org mailing lists are: -* [erlang-questions](https://erlang.org/pipermail/erlang-questions/) +* [erlang-questions](https://www.erlang.org/pipermail/erlang-questions/) The main Erlang/OTP discussion list. This list is mirrored by the (searchable) Google Group [Erlang Programming](http://groups.google.com/group/erlang-programming). -* [erlang-announce](https://erlang.org/pipermail/erlang-announce/) +* [erlang-announce](https://www.erlang.org/pipermail/erlang-announce/) The announcements are also sent to erlang-questions. -* [eeps](https://erlang.org/pipermail/eep/) +* [eeps](https://www.erlang.org/pipermail/eep/) Discussions regarding specific [EEPs](../eep) (Erlang Extension Proposals). See [Erlang Enhancement Process](../eep). ## Forums @@ -16,6 +16,6 @@ Discussions regarding specific [EEPs](../eep) (Erlang Extension Proposals). See This Google Group mirrors our mailing list erlang-questions. ## Mailing lists mini-HowTo -The mailing lists are [Mailman](http://www.gnu.org/software/mailman/) mailing lists. They have a [web interface](https://erlang.org/mailman/listinfo/) explaining what you need to know about handling your subscription. +The mailing lists are [Mailman](http://www.gnu.org/software/mailman/) mailing lists. They have a [web interface](https://www.erlang.org/mailman/listinfo/) explaining what you need to know about handling your subscription. You have to be a member to post. This reduces spam to a tolerable level. You can subscribe for every post, digest of posts or no-mail subscription to be able to post but read some other way e.g the archives or maybe Google Groups. \ No newline at end of file diff --git a/community/workshops.md b/community/workshops.md index 10389c5d002..ba18dd8e7d1 100644 --- a/community/workshops.md +++ b/community/workshops.md @@ -11,34 +11,34 @@ Beginning in 2001 there have been Erlang workshops co-located or affiliated with The photograph shows Danie Schutte, Carlos Varela, Rex Page and Ulf Wiger in front of the Cliff Lodge, Snowbird, Utah, USA, before the Erlang workshop in September, 2004. -Cliff Lodge, Snowbird, Utah, USA +Cliff Lodge, Snowbird, Utah, USA * [PLI'2001](http://music.dsi.unifi.it/pli01/), Florence. -* [Erlang Workshop 2001](https://erlang.org/workshop/2001/). +* [Erlang Workshop 2001](/workshop/2001/). * [PLI'2002](http://pli2002.cs.brown.edu/), Pittsburgh. -* [ACM SIGPLAN Erlang Workshop 2002](https://erlang.org/workshop/2002/). +* [ACM SIGPLAN Erlang Workshop 2002](/workshop/2002/). * [PLI'2003](http://www.it.uu.se/pli03/), Uppsala. -* [ACM SIGPLAN Erlang Workshop 2003](https://erlang.org/workshop/2003/). +* [ACM SIGPLAN Erlang Workshop 2003](/workshop/2003/). * [ICFP'2004](http://www.cs.indiana.edu/icfp04), Snowbird. -* [ACM SIGPLAN Erlang Workshop 2004](https://erlang.org/workshop/2004/). +* [ACM SIGPLAN Erlang Workshop 2004](/workshop/2004/). * [ICFP'2005](http://www.brics.dk/~danvy/icfp05), Tallinn. -* [ACM SIGPLAN Erlang Workshop 2005](https://erlang.org/workshop/2005/). +* [ACM SIGPLAN Erlang Workshop 2005](/workshop/2005/). * [ICFP'2006](http://icfp06.cs.uchicago.edu/), Portland. -* [ACM SIGPLAN Erlang Workshop 2006](https://erlang.org/workshop/2006/). +* [ACM SIGPLAN Erlang Workshop 2006](/workshop/2006/). * [ICFP'2007](http://www.informatik.uni-bonn.de/~ralf/icfp07.html), Freiburg. -* [ACM SIGPLAN Erlang Workshop 2007](https://erlang.org/workshop/2007/). +* [ACM SIGPLAN Erlang Workshop 2007](/workshop/2007/). * [ICFP'2008](http://www.icfpconference.org/icfp2008/), Victoria. -* [ACM SIGPLAN Erlang Workshop 2008](https://erlang.org/workshop/2008/). -* [ACM SIGPLAN Erlang Workshop 2009](https://erlang.org/workshop/2009/), Edinburgh -* [ACM SIGPLAN Erlang Workshop 2010](https://erlang.org/workshop/2010/), Baltimore -* [ACM SIGPLAN Erlang Workshop 2011](https://erlang.org/workshop/2011/), Tokyo +* [ACM SIGPLAN Erlang Workshop 2008](/workshop/2008/). +* [ACM SIGPLAN Erlang Workshop 2009](/workshop/2009/), Edinburgh +* [ACM SIGPLAN Erlang Workshop 2010](/workshop/2010/), Baltimore +* [ACM SIGPLAN Erlang Workshop 2011](/workshop/2011/), Tokyo * [ACM SIGPLAN Erlang Workshop 2012](http://www.cse.chalmers.se/~rjmh/EWCFP.html), Copenhagen -* [ACM SIGPLAN Erlang Workshop 2013](https://erlang.org/workshop/2013/), Boston -* [ACM SIGPLAN Erlang Workshop 2014](https://erlang.org/workshop/2014/), Göteborg -* [ACM SIGPLAN Erlang Workshop 2015](https://erlang.org/workshop/2015/), Vancouver -* [ACM SIGPLAN Erlang Workshop 2016](https://erlang.org/workshop/2016/), Nara -* [ACM SIGPLAN Erlang Workshop 2017](https://erlang.org/workshop/2017/), Oxford -* [ACM SIGPLAN Erlang Workshop 2018](https://erlang.org/workshop/2018/), St. Louis -* [ACM SIGPLAN Erlang Workshop 2019](https://erlang.org/workshop/2019/), Berlin +* [ACM SIGPLAN Erlang Workshop 2013](/workshop/2013/), Boston +* [ACM SIGPLAN Erlang Workshop 2014](/workshop/2014/), Göteborg +* [ACM SIGPLAN Erlang Workshop 2015](/workshop/2015/), Vancouver +* [ACM SIGPLAN Erlang Workshop 2016](/workshop/2016/), Nara +* [ACM SIGPLAN Erlang Workshop 2017](/workshop/2017/), Oxford +* [ACM SIGPLAN Erlang Workshop 2018](/workshop/2018/), St. Louis +* [ACM SIGPLAN Erlang Workshop 2019](/workshop/2019/), Berlin * [ACM SIGPLAN Erlang Workshop 2020](https://icfp20.sigplan.org/home/erlang-2020), Online * [ACM SIGPLAN Erlang Workshop 2021](https://icfp21.sigplan.org/home/erlang-2021), Online \ No newline at end of file diff --git a/eep.md b/eep.md index eba3fffceea..4d6935c5366 100644 --- a/eep.md +++ b/eep.md @@ -20,7 +20,7 @@ Before submitting an EEP; read [EEP 1 - EEP Purpose and Guidelines] that thoroug [EEP 0]: {% link eeps.html %} ### EEP Editorial -There is a mailing list for EEPs: eeps (at) erlang (dot) org, see [Mailing Lists](../community/mailinglists). Anyone interested can subscribe to the list. The EEP editor(s) are subscribed to the list, as well as the EEP repository owner. New EEPs should be sent here, as well as EEP updates. Note that as with all [erlang.org](https://www.erlang.org/) mailing lists only subscribers are allowed to post to the list. +There is a mailing list for EEPs: eeps (at) erlang (dot) org, see [Mailing Lists](../community/mailinglists). Anyone interested can subscribe to the list. The EEP editor(s) are subscribed to the list, as well as the EEP repository owner. New EEPs should be sent here, as well as EEP updates. Note that as with all [erlang.org](/) mailing lists only subscribers are allowed to post to the list. ### Erlang Extension Proposal repository The EEP source texts are in a Github GIT version control [repository](http://www.github.com/erlang/eep). Anyone with a Github account can fork the repository, add or change any EEP, inform the [eeps](mailto:eeps@erlang.org) mailing list about the new version, and the origin repository owner will (if approving) pull the commit. \ No newline at end of file