Commit Graph
368 Commits
Author SHA1 Message Date
Jonatan Männchen b5f1864d4e Use package.hexdocs.pm URL format instead of hexdocs.pm/package (#15429) 2026-05-30 22:19:31 +02:00
Jean Klingler 2c54f9a64a More cleanup: remove compatibility code for OTP26- (#15166)
* Remove compatibility code for OTP26-

* Remove support for application/erlang+html docs v1

* Remove workaround for bug in older OTP versions

* Update OTP version checks

* Remove OTP25- skipping in tests

* More test cleanup
2026-03-10 16:12:36 +09:00
José Valim f1bbb2cd32 Infer types from guards and do post-inference on stdlib (#15032)
We now infer types from guards although we don't
yet infer conditional types (such as on `or`).
2026-01-02 19:48:45 +01:00
Eksperimental 88a5bec6af Introduce DOCS_OPTIONS env variable to Makefile (#14484)
Usage:

    DOCS_OPTIONS="--warnings-as-errors" make docs

    DOCS_OPTIONS="--warnings-as-errors --formatter html" make docs
2025-05-10 10:33:13 +02:00
José Valim 10cc7e995e Ensure more deprecated functionality is removed from coverage 2025-04-07 22:54:20 +02:00
Jonatan Männchen f3e8ceb5aa Implement Test Coverage Reporting (#14343) 2025-04-07 22:37:01 +02:00
David Pavlík 36d6c1cf66 Fix mention of README in Makefile (#14351)
The message probably refers to the "Building documentation" section that
has been moved to CONTRIBUTING.md in a2af062.
2025-03-20 13:34:55 +01:00
Jonatan Männchen 980500551c Inline Licence Info & Copyright for non-test files (#14256) 2025-02-07 21:11:09 +01:00
José Valim a0214e93fc Only make module available after inference to avoid races (#14254) 2025-02-05 13:57:12 +01:00
Jonatan Männchen e1d171e5c7 Add inline License / Copyright to Erlang files (#14255) 2025-02-05 13:50:00 +01:00
Wojtek Mach eaf7123cf6 Do not set docs source_ref to -latest tags (#14065) 2024-12-12 11:51:19 +01:00
José Valim ef7c11814f Require Erlang/OTP 26+ (#14045) 2024-12-10 15:38:02 +01:00
José Valim bb028b951f Always consider Elixir modules on inference (#14000) 2024-11-19 13:40:16 +01:00
José Valim 485ca72ae2 Infer types and use them across remote calls (#13981)
This also unifies handling of deterministic builds with Erlang/OTP
as well as warnings_as_errors.
2024-11-09 18:00:27 +01:00
Ariel Otilibili ae49e4e19f Refactored pre-requisites of build_man (#13853) 2024-09-26 14:00:42 +02:00
José Valim 18bbfed45e Recompile when version changes, closes #13709 2024-07-06 12:50:12 +02:00
Luc Fueston c83334e5f2 Directional confusability protection & allowing script mixing in identifiers when separated by underscores (#13693)
* update support for uts39 from unicode 15

* follow uts39's recco that it's not necessary to require
  idents to be single-script (they call out proglang idents,
  reference the new uts55-5). We use a heuristic derived from
  the concept of identifier chunks from uts55-5, to allow
  idents like foo_bar_baz where each chunk around the _ can be
  single-or-highly-restrictive

* provide directional confusability detection, by reversing
  spans of direction-changed chars in idents for bidi_skeleton,
  see issue #12929
2024-07-02 14:07:20 +02:00
José Valim 5c45ea6fed Fix docs link
Related to #13284.
2024-01-27 11:46:21 +01:00
José Valim 91de7e13b5 Add logo to docs 2024-01-21 11:12:04 +01:00
José Valim f437e8695b Require Erlang/OTP 25+ (#13045) 2023-10-30 23:55:36 +01:00
José Valim a2bd1f29e2 No longer version per minor branch 2023-10-10 23:38:26 +02:00
José Valim 997d92575b Fix links, add pending images 2023-08-21 14:44:49 +02:00
José Valim 7e273b8443 Generate ePUB format 2023-08-21 14:23:32 +02:00
Vinícius Müller 4cd08e5f65 Check formatting when running tests for specific projects (#12700) 2023-06-22 23:54:37 +02:00
José Valim a1e07266f1 Support distributed File.Stream (#12578) 2023-05-23 00:00:03 +02:00
Eric Meadows-Jönsson 54756a7908 Fix builds.hex.pm upload (#12580) 2023-05-22 17:23:22 +02:00
Matthew Smith 414ebf87c4 Disable parallel build in Make 4.4 (#12244)
In versions of GNU Make prior to 4.4, ".NOTPARALLEL: compile" made the whole
build run serially. In 4.4 and later, ".NOTPARALLEL: compile" makes only
the compile target run serially.

This breaks the build and can lead to e.g. EEx being built before Mix.
2022-11-15 23:04:17 +01:00
José Valim 6f2c669a98 Generate docs_config.js for version chooser in ExDoc 2022-11-11 12:02:41 +01:00
José Valim eb7f640a63 Remove Cirrus CI (#12132)
It has served its purpose while developing releases
but with the functionality stable and shellcheck,
we have our basis covered.
2022-09-14 09:03:20 +02:00
José Valim 239f8f9e3b Require Erlang/OTP 24 2022-07-27 13:20:42 +02:00
Wojtek Mach 637c0f4fbb Escape $(MAKE) path (#12004)
This is particularly useful on Windows where make could be under for
example:

    C:\Program Files (x86)\GnuWin32\bin\make.exe
2022-07-22 18:56:06 +02:00
Eksperimental 3d4ffeb89d Makefile: allow setting DOCS_FORMAT (#11733)
This allows us to generate Epub documents.

    DOCS_FORMAT=epub make docs
2022-03-28 07:18:19 +02:00
Michał Łępicki e94d64835d Recreate local.sample task fixture in test_helper.exs (#11640) 2022-02-17 16:43:55 +01:00
Luc Fueston cba50b7a28 Warn on confusable non-ascii identifiers (UTS 39, C2) (#11582) 2022-01-21 09:37:25 +01:00
Michał Łępicki 9e898f8b5a Remove references to HiPE (#11543)
* Fix typo in Dialyzer CI step name

* Remove references to HiPE
2022-01-05 13:37:17 +01:00
José Valim a9cecc2e3a Remove support for Erlang/OTP 22 2022-01-05 09:14:03 +01:00
José Valim 0e7665e1eb No longer version archives 2021-12-30 14:29:11 +01:00
José Valim 16284830e4 Update references to main branch 2021-11-07 20:07:38 +01:00
José Valim b2491fd839 Depend on Erlang for computing grapheme clusters (#11024)
Erlang ships with its own embedding of the Unicode
Codebase for a couple releases and this release changes
Elixir to depend on it in order to compute grapheme
clusters.

The Erlang implementation was up to 2x faster in low
codepoints (such as latin1) while the Elixir one could
be faster up to 3x in high codepoints (such as emoji)
so at the end the performance results are roughly the
same. As a benefit, we no longer need to ship our copy
of the grapheme cluster algorithm, which would take up
to 250kB in disk and more than 15 seconds to compile.

Note we still keep our own String downcase and upcase
algorithms, as our version is considerably more efficient
on all cases since it works exclusively with binaries
(more than 5x faster).
2021-06-01 12:44:55 +02:00
José Valim 264bed3468 Run Mix suite last 2021-04-14 15:45:43 +02:00
Wojtek Mach 7039b6d6ae Update canonical instruction in Makefile (#10874) 2021-04-04 09:25:35 +02:00
Wojtek Mach 8f8822535a Use docs canonical version in all built-in apps (#10872)
Before:

https://hexdocs.pm/elixir/1.12.0-rc.0/changelog.html contains links like:

  - [`Mix.install/2`](https://hexdocs.pm/mix/Mix.html#install/2)

which currently 404.

After:

https://hexdocs.pm/elixir/1.12.0-rc.0/changelog.html would contain:

  - [`Mix.install/2`](https://hexdocs.pm/mix/1.12/Mix.html#install/2)

See demo: http://wojtekmach.pl/docs/elixir/1.12/elixir/changelog.html
2021-04-04 08:35:30 +02:00
José Valim b059d5ad37 Start v1.13-dev 2021-03-29 17:49:26 +02:00
Eksperimental e5d8525813 Improve grammar around "then" (#10727) 2021-02-17 16:39:16 +01:00
Eksperimental 369f152340 Fix canonical link in HTML docs (#10206)
The comments would add space to the CANONICAL variable,
redering the link like
<link rel="canonical" href="https://hexdocs.pm/elixir/v1.10/ /Kernel.html" />
2020-07-18 08:23:23 +02:00
Michał Łępicki 589ffaafd5 Include all relevant OTP apps when building dialyzer PLT (#9975)
Fix many "Unknown function" and "Unknown type" dialyzer errors
visible when generating the dialyzer PLT and when running dialyzer analysis.
2020-04-26 18:06:34 +02:00
José Valim 68a66d5141 Remove verbose flag from makefile 2020-03-28 10:51:10 +01:00
Fernando Tapia Rico f322db0893 Improve 'check_reproducible' script (#9879)
The new script performs a "BEAM-diff" in case of BEAM files.
2020-03-15 12:19:20 +01:00
Wojtek Mach ee9169f557 Do not compile erlang files with warnings_as_errors unless on CI (#9821) 2020-02-16 16:23:06 +01:00
Devon Estes 8dcb537e1c Allow running a single test file from make (#9669)
One thing I've found myself wanting quite a lot when working on Elixir
is the ability to run single tests, or at least single test files,
easily with `make test_stdlib` or something. With this change this is
now possible - you can run `make test_stdlib TEST_FILES=macro_test.exs`
to just run that file, or
`make test_ex_unit TEST_FILE=ex_unit/formatter_test.exs`.
2019-12-24 14:40:52 +01:00