Skip to content

List of upstream changes from 5.1.1 to 5.2.0 split by area

Mark Shinwell edited this page Jul 11, 2024 · 5 revisions

merge PR = this is a merge commit

non-merge = this is a non-PR commit, or a squash+merge PR commit. In the latter case you can click through (via the changeset page) to get to the PR page.

asmcomp

5f767ecf | merge PR13079 | Save and restore frame pointer across Iextcall on ARM64
3c141d0d | merge PR12914 | s390x: allow builds with llvm/clang
2bc47925 | merge PR12915 | ThreadSanitizer support for s390x
93328fa5 | merge PR12876 | ThreadSanitizer support for POWER
df184c8e | non-merge | #12984: restore the filename computation for companion cmi (#12987)
dc41ba93 | non-merge | ThreadSanitizer support for Risc-V (#12907)
45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
38111125 | merge PR12810 | ThreadSanitizer support for arm64
ec375fe2 | merge PR12505 | Initialize the block allocated by caml_alloc_shr_check_gc
3e326faa | merge PR12856 | Fix CSE across atomic loads again
07a4cc35 | merge PR12831 | Fix s390x stack reallocation code in PIC mode
58024e01 | non-merge | dune: check-typo
d09c3a76 | non-merge | dune: fix some build errors
c2476e3d | merge PR12735 | Store both ends of the stack chain in continuations
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
0c963ceb | merge PR12715 | disable CSE for atomic loads
80ca7e79 | merge PR12640 | Make the module separator used in symbol names configurable
a0bbd7c7 | merge PR12181 | Simplify calls to caml_int_compare (and similar functions) (was #1809)
0cdac031 | merge PR12669 | Remove global state in asmcomp/schedgen
82a04cfd | merge PR12667 | 64-bit big endian PowerPC ABIv2 support
bd1fb55e | merge PR12634 | Simplify TSan backtrace bookkeeping upon raise
5b8651ba | non-merge | Implement leaf functions on POWER (#12601)
e3c59ebd | non-merge | asmcomp/*/emit.mlp: use tabs in generated asm where appropriate (#12607)
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
5558e63d | merge PR12540 | Remove the SIGTRAP-based bounds checking on POWER
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
bde2dd69 | non-merge | Refactor the computation of stack frame parameters (#12242)
6ca0dfb4 | merge PR12447 | Remove 32-bit targets from X86_proc.system
42035d06 | non-merge | Extend [@untagged] external attribute to all immediate types
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
7810957d | merge PR12059 | Correct size for recursive values with branching
daac33b2 | merge PR12311 | POWER back-end: wrong compilation of FP32 stores
717d9ba2 | non-merge | Reduced stack alignment for x86-64 and RISC-V (#11239)
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)
5672ed60 | merge PR12276 | Update the POWER port for OCaml 5
10ff4714 | merge PR10111 | Allowing displaying multi-line backtrace locations in the same way as errors
2700da25 | merge PR12261 | Minor improvements to the IBM Z / s390x port of OCaml 5
3a13fe64 | non-merge | ARM64: emit stack reallocation code before the body of the function (#12277)
3fefff50 | non-merge | Reintroduce native compiler for s390x (#11712)
8d1af245 | non-merge | Instruction scheduling: do not reorder atomic loads (#12248)
063894d3 | merge PR11846 | Simplify and fix the shadow store reservation on Win64

bytecomp

6d50a141 | merge PR12751 | Construct the bytecode executable header in ocamlc
9b049aef | non-merge | Refactor Dynlink startup to avoid parsing bytecode sections twice (#12599)
45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
16969c22 | non-merge | ocamlc -custom: add extern modifiers when using a C++ compiler (#12791)
c2476e3d | merge PR12735 | Store both ends of the stack chain in continuations
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
2309e90d | merge PR12750 | Display primitives retrieval command in ocamlc -verbose
a912cff5 | merge PR12246 | Add a -H flag, second attempt
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
b1d6cf2c | merge PR12603 | Minor symbol table cleanups
4c3016f1 | non-merge | Get rid of the LongString module (#12360)
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
2ecd298d | merge PR12509 | Use strict prototypes on primitives in bytecomp
53317424 | non-merge | Simplify dynamic bytecode loading by having the runtime append RETURN 1 (#12430)
7810957d | merge PR12059 | Correct size for recursive values with branching
2e5df7cd | merge PR12222 | Linear-time closure computation
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files

compilerlibs

14a3ce63 | merge PR12586 | Merge compilerlibs/Makefile.compilerlibs into the root Makefile
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
bde2dd69 | non-merge | Refactor the computation of stack frame parameters (#12242)
42035d06 | non-merge | Extend [@untagged] external attribute to all immediate types
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)

debugger

a912cff5 | merge PR12246 | Add a -H flag, second attempt
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
2e5df7cd | merge PR12222 | Linear-time closure computation
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files
94a91f5f | merge PR12198 | Merge debugger/Makefile into the root Makefile

driver

02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
adfd0417 | non-merge | Fix regression in #12403: quote source code also for marshalled ASTs (#12698)
271a81b9 | merge PR12688 | Update the logic of detecting NO_COLOR
5c74c3ce | non-merge | fix locations filename in AST produced by the -pp option (#12684)
53d0d25e | non-merge | toplevel: allow multiple phrases in one line (#12029)
a912cff5 | merge PR12246 | Add a -H flag, second attempt
4df33cc5 | merge PR12613 | Make ocamlc/ocamlopt fail when not given input files
09fe7bba | merge PR12576 | ocamldep refactors
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
aac3f109 | merge PR12403 | Read source files in one go before lexing
2a1cdfaa | merge PR12378 | Allow paths in ocaml_compiler_internal_params
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files

file_formats

96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
a912cff5 | merge PR12246 | Add a -H flag, second attempt
fd0551b7 | non-merge | Remove the dependency of the cmo and cmxs file formats on compiler internals (#12611)
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files

lambda

a419c766 | non-merge | TMC: fix translation of try-with, (&&), (||) (#12958)
45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
c2476e3d | merge PR12735 | Store both ends of the stack chain in continuations
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
efd73224 | non-merge | Fix label evaluation order (#12720)
e5c693d2 | merge PR12496 | Stop Simplif from causing disagreement between runtime arity and syntatic arity of a function
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
90235851 | merge PR12553 | Matching: more debug
ed23f13a | merge PR12532 | Matching: improve the readability of the debug output
6e0399a7 | non-merge | minor comment fix in matching.ml
657a9128 | merge PR12523 | Make pattern-matching and ocamldoc more robust to 5.1 changes to typedtree
70ec2408 | merge PR12442 | More lambda/matching documentation
a8f8726d | merge PR12391 | Add parameter location information to parsetree/typedtree
5b3d14e6 | merge PR12236 | Syntactic function arity
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)

middle_end

45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
ecf19e03 | non-merge | Fix compilation of nested packs (#12609)
80ca7e79 | merge PR12640 | Make the module separator used in symbol names configurable
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
fcf87c49 | non-merge | Honor inline always even for functions with optional arguments and default values (#12526)
0ed5dcb2 | non-merge | Fixing typos (#12457)
2e5df7cd | merge PR12222 | Linear-time closure computation
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)

ocamltest

996986ba | non-merge | ocamlopt: do not link -lzstd nor zstd.n.o by default, only for compilerlibs
d09c3a76 | non-merge | dune: fix some build errors
6fad48cf | merge PR12788 | Expose and use cpp, cppflags, and cflags in ocamltest
d5b5c349 | merge PR12706 | Merge testsuite sub-makefiles in the root Makefile and harden build system
6a79fd8a | merge PR12767 | Fix summary computation in ocamltest
b19bdb03 | merge PR12243 | Ocamltest new log format and better error report
2b890ce3 | merge PR12446 | runtime/io.c: remove the hook machinery for channel locking
0ed5dcb2 | non-merge | Fixing typos (#12457)
814c063b | merge PR12321 | Merge ocamltest/Makefile into the root Makefile
c257e499 | non-merge | ocamltest: fix recursive expansion of variables (#12371)
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap
224c14c4 | merge PR12265 | Fix the configuration of ZSTD on mingw-w64
8778780f | merge PR12254 | ocamltest/README.md: translate examples to new test script syntax
48a321c0 | non-merge | Improve ocamltest documentation (#12225)
0a7c5fe3 | non-merge | New script language for ocamltest (#12185)
44febc5f | non-merge | Check for syntax errors in test scripts instead of ignoring them. (#12194)

otherlibs/dynlink

96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
16adb56b | non-merge | Reduce the dependencies of native-code Dynlink
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
15aa7789 | merge PR12602 | Minor dynlink cleanups
4c3016f1 | non-merge | Get rid of the LongString module (#12360)
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
53317424 | non-merge | Simplify dynamic bytecode loading by having the runtime append RETURN 1 (#12430)
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)
4719ea2e | merge PR12319 | Remove eroneous line directives in dynlink
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files
23dab79a | merge PR12213 | Improve legibility of dynamic linking error messages

otherlibs/runtime_events

7bb15e12 | merge PR12900 | Fix locking bug with custom runtime events
877bd14d | merge PR12840 | manual: update runtime tracing chapter for custom events (ex #12335)
3aeee835 | merge PR12764 | Move all installable headers in caml/ sub-directories
8f438192 | non-merge | Include windows.h in a few places it is required (#12832)
bdd8d960 | non-merge | Make the GC compact again (#12193)
b1945876 | merge PR12686 | Fix the types of C primitives and remove some that are unused
9fd47672 | merge PR12192 | Simplification with atomic_ helpers
54c81e55 | merge PR12178 | runtime events consumer: fix invalid value returned from runtime_events_read_poll

otherlibs/systhreads

d365affe | merge PR13019 | Remove duplicated -lunixbyt in threads.cma
40779de5 | merge PR12882 | Execute preemptive systhread switching as a delayed pending action
48102a35 | merge PR12861 | Properly modify Caml_state->backtrace_last_exn
800ba1ff | merge PR12886 | Reinitialize IO mutexes after fork
34fbd7d1 | merge PR12834 | Refactor caml_c_thread_(un)register to fix various bugs
3aeee835 | merge PR12764 | Move all installable headers in caml/ sub-directories
3838bbff | non-merge | Basic thread and domain interfaces to the memprof module, and data structures. (#12382)
426f1ea3 | merge PR12769 | Unify MSVC and MinGW-w64 code paths
82d35c9e | merge PR11307 | Implement quality treatment for asynchronous actions in multicore (3/3?)
90dae66e | merge PR11386 | Simplifications and fixes to multicore systhreads implementation (3/3)
d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap
a2633251 | non-merge | Support MinGW-w64 11.0 winpthreads library (#12231)
9fd47672 | merge PR12192 | Simplification with atomic_ helpers

otherlibs/unix

d78d3031 | non-merge | add missing @since in docs (#12978)
3aeee835 | merge PR12764 | Move all installable headers in caml/ sub-directories
faaec61e | merge PR12801 | Fix memory corruption in caml_unix_alloc_sockaddr (#12796)
214bf6a3 | merge PR12743 | Use pthread_sigmask instead of sigprocmask
6601f1b6 | merge PR12714 | Warn if an undefined identifier is evaluated in an #if directive (enable -Wundef)
225f2f3a | merge PR12637 | Avoid pointer arithmetic over void * in the runtime
1dbc0100 | non-merge | Move the [[noreturn]] attribute to the front of the declaration (#12468)
450af645 | non-merge | unix.ml: a global mutex around the popen_processes hashtable (#12510)
f772ae09 | non-merge | Add I/O primitives for Bigarrays (#12365)
24e0fe65 | merge PR12499 | bigarray: fix deserialization of float16 bigarrays
96d1702b | non-merge | Make Unix.create_process_env thread-safe in all cases (#12404)
90dae66e | merge PR11386 | Simplifications and fixes to multicore systhreads implementation (3/3)
007c0401 | merge PR12314 | Discard out_channel buffered data on permanent I/O error
686f4987 | non-merge | documentation: Unix exec and process functions (#12338)
829e32d2 | non-merge | Use CAMLnoret instead of CAMLnoreturn_{start,end} (#12235)
94a91f5f | merge PR12198 | Merge debugger/Makefile into the root Makefile
d7ced7e6 | non-merge | Constify C constructors and flags tables (#12223)
9fd47672 | merge PR12192 | Simplification with atomic_ helpers
c33fd13c | merge PR12187 | Fix warnings emitted when compiling the documentation

otherlibs Makefiles

d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap

parsing

18007e6b | non-merge | Simple pretty-printing patches (#13130)
df184c8e | non-merge | #12984: restore the filename computation for companion cmi (#12987)
88d88801 | merge PR10691 | Ast_mapper, Ast_iterator: add functions directive_argument, toplevel_directive and toplevel_phrase
039af06a | non-merge | Fix typo in builtin_attributes.mli (#12803)
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
d73896d4 | merge PR12692 | parser: Location of typevars includes the quote
e397ed28 | merge PR12639 | parsing: Attach a location to the RHS of Ptyp_alias
a912cff5 | merge PR12246 | Add a -H flag, second attempt
09fe7bba | merge PR12576 | ocamldep refactors
8e303850 | merge PR12514 | normalize \r*\n newlines to \n during lexing
eab11057 | merge PR12545 | Fix cmi lookup after #12389
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
aac3f109 | merge PR12403 | Read source files in one go before lexing
a8f8726d | merge PR12391 | Add parameter location information to parsetree/typedtree
5b3d14e6 | merge PR12236 | Syntactic function arity
2e270321 | non-merge | Local open in types (#12044)
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)
d2ccddc2 | merge PR12316 | update the ill-types ppx_example in Ast_mapper module
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
2956a3af | merge PR12306 | Correct dependencies on otherlibs
17f818bf | merge PR12191 | #12188: fix coercion in value bindings

runtime

9e54469f | merge PR13094 | Fix undefined behavior of left-shifting a negative number
5f767ecf | merge PR13079 | Save and restore frame pointer across Iextcall on ARM64
f6926ef5 | merge PR13085 | Fix some messages emitted by the verbose option.
e117fa73 | merge PR13058 | [tsan] Add instrumentation to caml_call_gc
38a5cb10 | merge PR12889 | Attempt at a thread-safe implementation of DLS
3c141d0d | merge PR12914 | s390x: allow builds with llvm/clang
2bc47925 | merge PR12915 | ThreadSanitizer support for s390x
93328fa5 | merge PR12876 | ThreadSanitizer support for POWER
e17940fa | merge PR12678 | Free channel buffers on close rather than leaving them to the GC.
95135ce2 | merge PR12860 | Fix assertion in caml_ephe_clean
40779de5 | merge PR12882 | Execute preemptive systhread switching as a delayed pending action
721180e5 | merge PR12969 | Fix a data race in caml_darken_cont
7bb15e12 | merge PR12900 | Fix locking bug with custom runtime events
83168f5d | merge PR12894 | Fix datarace between oldify and allocation
31e6d15c | merge PR12919 | s390x: fix register corruption in runtime
53122446 | merge PR12906 | Fix data race in scan_native_globals
4b92d4a0 | merge PR12934 | Fix data race between marking and sweeping
800ba1ff | merge PR12886 | Reinitialize IO mutexes after fork
3729db6b | merge PR12922 | Remove caml_get_section_table (+bootstrap)
9b049aef | non-merge | Refactor Dynlink startup to avoid parsing bytecode sections twice (#12599)
dc41ba93 | non-merge | ThreadSanitizer support for Risc-V (#12907)
0291ca33 | merge PR12908 | Fix overflow in ocamllex's table backend
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
23e41982 | non-merge | Move the functions that use ZSTD compression to a separate zstd.c file
8522df78 | merge PR12911 | Consistent domain count when domain creation fails
516c24db | merge PR12855 | Do not fail too hard in domain_thread_func
43ad7135 | merge PR12851 | Fixes #12799 (race between runtime events teardown and event emission)
2278d39a | non-merge | Make Gc.compact do a complete compaction, add Gc.quick_compact (#12859)
fb7aa7e8 | merge PR12746 | Simplify and clean up TSan annotations
38111125 | merge PR12810 | ThreadSanitizer support for arm64
877bd14d | merge PR12840 | manual: update runtime tracing chapter for custom events (ex #12335)
ec375fe2 | merge PR12505 | Initialize the block allocated by caml_alloc_shr_check_gc
b8b2def6 | non-merge | Update stats at the end of a major cycle (and potentially a compaction) (#12850)
1236deba | merge PR12512 | Add volatile casts to FFI macros to enforce memory model
30971bf4 | merge PR12845 | Add {In,Out}_channel.is_binary_mode
fb3a6d85 | merge PR12624 | Be more XDG-compliant when searching for init.ml
b82413d0 | non-merge | Refactoring and extending the Digest module with better hash functions (#12307)
a4e1d3d2 | merge PR12811 | Define and use the CAMLthread_local macro for TLS variables
8f438192 | non-merge | Include windows.h in a few places it is required (#12832)
784fe56d | merge PR12737 | Fix data races in minor_gc.c and caml_natdynlink_open
bd3c378b | merge PR12816 | Remove the caml_ml_domain_unique_token primitive
def86e52 | merge PR12824 | Fix two assertion failures introduced by recent merge
7ceab32d | merge PR12814 | More descriptive failure messages for unmarshaling
dc1c1055 | merge PR12815 | Fix inconsistency between source locations reported by Printexc and the compiler
db5d2919 | merge PR12817 | Fix assertion failure
3838bbff | non-merge | Basic thread and domain interfaces to the memprof module, and data structures. (#12382)
90b369f6 | merge PR12806 | Update outdated comment in tsan.c
d8b1076f | merge PR12804 | Minor TSan cleanup
a325a18d | merge PR12793 | io.h: add Lock,Unlock aliases for compatibility
c2476e3d | merge PR12735 | Store both ends of the stack chain in continuations
07e55382 | non-merge | Replace ssize_t (which is absent in MSVC) with ptrdiff_t (which is standard C). (#12795)
243f4cd3 | merge PR12787 | Avoid using _Bool in public headers for the sake of C++ compatibility
8cfd9c5a | non-merge | Fix data race on global pools arrays of pool_freelist (#12755)
cbc5a0c8 | non-merge | Scan runtime/addrmap.c ... runtime/zstd.c for primitives less often (#12753)
70d7f4ec | non-merge | Improve backtrace abstractions inside runtime (#12383)
9b9868e6 | merge PR12784 | Fix minor-heap allocation computation in Gc.counters()
426f1ea3 | merge PR12769 | Unify MSVC and MinGW-w64 code paths
b98b5e76 | merge PR12765 | Update function name in comment
782598d5 | merge PR12757 | Fix ocamlnat by registering frametables correctly
6125c291 | non-merge | Do not change GC pace when creating sub-arrays of bigarrays (#12754)
ed3329fe | merge PR12742 | Fix assertion failure from #12712
b4308a0c | merge PR12318 | fix bad behaviour of caml_alloc_custom_mem
560216c6 | non-merge | Fix TSan false positives due to volatile write handling (#12681)
6e0ba58f | merge PR12710 | Fix finaliser handover flakiness
6601f1b6 | merge PR12714 | Warn if an undefined identifier is evaluated in an #if directive (enable -Wundef)
bdd8d960 | non-merge | Make the GC compact again (#12193)
d77bc97a | non-merge | minor code cleanup
49010d88 | merge PR12711 | Minor TSan stack unwinding cleanup
9f4142fb | merge PR12694 | Documentation comments of TSan instrumentation choices
217d42e7 | merge PR12700 | Generate runtime/prims.c with the correct types in primitive declarations
8cc728b5 | merge PR12707 | Fix assertion race condition in #11800
6bad0321 | non-merge | runtime/mlvalues.h: more careful definition of Tag_val (#12703)
14d9ab10 | non-merge | In C++, give Bool_val the type bool (#12702)
80ca7e79 | merge PR12640 | Make the module separator used in symbol names configurable
f6d6f65f | merge PR12693 | Remove no longer needed CAMLno_tsan attributes
7a0439d7 | merge PR12652 | Make it easier to bump and duplicate magic numbers
b1945876 | merge PR12686 | Fix the types of C primitives and remove some that are unused
d55a51a7 | merge PR12687 | Make sure TSan false positive from #12282 is silenced
e8e5b2f8 | non-merge | Use proper C99 flexible array members (#12685)
82a04cfd | merge PR12667 | 64-bit big endian PowerPC ABIv2 support
3d4eb066 | non-merge | Use C11/C++11 standard static assertion (#12537)
ed02d123 | merge PR12619 | [refactoring] runtime: define and enforce naming conventions for STW functions
c8353bc5 | merge PR12655 | Remove configure detection of ffs and _BitScanForward
210cc86a | non-merge | Fix custom block promotion (#12439)
9b68959b | merge PR12635 | feat: caml_fatal_error on misuse of deserialize functions
bd1fb55e | merge PR12634 | Simplify TSan backtrace bookkeeping upon raise
225f2f3a | merge PR12637 | Avoid pointer arithmetic over void * in the runtime
cc754000 | merge PR12638 | Implement Caml_state in MASM
1e78220b | merge PR12626 | Fix ARM build with mixed-endian fp doubles
69b62949 | merge PR12597 | Tentative fix for a race between compute_gc_stats and domain termination
1dbc0100 | non-merge | Move the [[noreturn]] attribute to the front of the declaration (#12468)
6fa81e7c | merge PR12610 | Document young_limit
2ec9ac7a | merge PR12593 | TSan should handle Effect.Unhandled correctly
dbf3054f | merge PR12559 | A better major trigger
5558e63d | merge PR12540 | Remove the SIGTRAP-based bounds checking on POWER
4c3016f1 | non-merge | Get rid of the LongString module (#12360)
0ac51f65 | merge PR12594 | Minor clean-ups for signals
c287b9d7 | merge PR12591 | runtime: fix a race on the orphaning structure in major_gc.c
f89f4cc0 | merge PR12595 | Move caml_collect_gc_stats_sample before barrier arrival
3ecebf90 | merge PR12561 | Fix crash when combining TSan and frame-pointers
01f737a2 | merge PR12535 | Fix delivery of effect-related exceptions, take 2 (#12486)
ccb75bf3 | merge PR12583 | Add a closing event for when EV_MAJOR_EPHE_MARK is complete
9e17cbc3 | merge PR12566 | caml_output_value_to_malloc: really use malloc
560c4440 | merge PR12560 | Improve TSan-related comments in amd64.S
82d35c9e | merge PR11307 | Implement quality treatment for asynchronous actions in multicore (3/3?)
faa6d2e6 | merge PR12546 | POWER: correct the list of FP registers that need saving and restoring
aa7dc30c | merge PR12168 | Fix old style declaration warning (was #11862)
ae28598b | merge PR12530 | Fix delivery of effect-related exceptions (#12486)
221946bc | merge PR12525 | Fix incorrect use of int in mark_stack_push_block
a3a82eeb | merge PR12517 | Avoid the "constant-logical-operand" warning of recent clang versions
a6847bef | non-merge | Improve error handling in caml_alloc_sprintf (#12489)
76c4617b | non-merge | hot fix for a build-breaking conflict between #12365 and #12446
2b890ce3 | merge PR12446 | runtime/io.c: remove the hook machinery for channel locking
0ed5dcb2 | non-merge | Fixing typos (#12457)
f772ae09 | non-merge | Add I/O primitives for Bigarrays (#12365)
24e0fe65 | merge PR12499 | bigarray: fix deserialization of float16 bigarrays
53317424 | non-merge | Simplify dynamic bytecode loading by having the runtime append RETURN 1 (#12430)
3e2f3a82 | merge PR12473 | memory.c doc: add a note on the 'mixed' memory non-model
41ccfb7e | merge PR12381 | Multicore statmemprof API
14ed172e | merge PR12434 | Fix stack alignment computation (#12267)
a8df4b89 | non-merge | stray CAMLdrop in runtime_events.c
f272e37f | merge PR12445 | Missing GC root registrations in runtime/io.c
248919fa | merge PR12422 | Make CAMLno_asan and CAMLno_tsan compatible with older clangs again
e3bf4006 | non-merge | seek_in, seek_out: consistently fail if pos < 0 (#12401)
d431cc7f | merge PR12409 | Fix async exception handling inside Domain.spawn
01d1a0f3 | merge PR12408 | Release callback early in domain_thread_func
8f7b9bf1 | non-merge | [minor] documentation comment in callback.h
90dae66e | merge PR11386 | Simplifications and fixes to multicore systhreads implementation (3/3)
007c0401 | merge PR12314 | Discard out_channel buffered data on permanent I/O error
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
a770588c | merge PR12357 | Move constructor Bigarray.Float16 last in the type Bigarray.kind
6484b7cf | non-merge | fix bucket assignment in caml_ev_alloc (#12349)
08a6b973 | merge PR12030 | Fix some data races by using volatile when necessary
6842ffca | merge PR12212 | Add cache-aligned atomic
c7be4351 | merge PR12342 | Fix infinite loop in signal handling.
4c599fd1 | non-merge | Fix Windows Sys.rename regression from #12184 (#12320)
829e32d2 | non-merge | Use CAMLnoret instead of CAMLnoreturn_{start,end} (#12235)
800bf870 | non-merge | Remove the assertion hidden in caml_failed_assert (#12341)
b61d85fd | merge PR12268 | domain_create: deliver an Out_of_memory exception if malloc fails
717d9ba2 | non-merge | Reduced stack alignment for x86-64 and RISC-V (#11239)
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)
5672ed60 | merge PR12276 | Update the POWER port for OCaml 5
06d2fced | merge PR12293 | Compute $(STDLIB_MODULES) with GNU make functions instead of runtime/sak
fe011381 | merge PR12303 | runtime/major_gc: Fix an access race on caml_gc_phase
10ff4714 | merge PR10111 | Allowing displaying multi-line backtrace locations in the same way as errors
4b2f5e0c | non-merge | More macros to describe the layout of OCaml stacks (#12275)
2700da25 | merge PR12261 | Minor improvements to the IBM Z / s390x port of OCaml 5
dba3301e | merge PR11903 | Fix idle domain gc
5a4cbf8a | merge PR12256 | Fix #12255 - handle large signal numbers correctly.
30a0f93c | non-merge | s390x: Use unsigned comparisons for "less than" comparisons between pointers (#12258)
3fefff50 | non-merge | Reintroduce native compiler for s390x (#11712)
46032b11 | non-merge | runtime/riscv.S: fix shared library build error (#12252)
b8431d76 | non-merge | Fix budget accounting for Cont_tag in do_some_marking (#12249)
cd01cac2 | non-merge | make caml_time_counter concurrent-safe on macOS (#12234)
3358a2eb | non-merge | Fix check-typo
780d018f | non-merge | Dune build: gen_primitives.sh must be called from the root (#12244)
d7ced7e6 | non-merge | Constify C constructors and flags tables (#12223)
683d0ca1 | non-merge | Sys.rename win fixes (#12184)
f11f82f1 | non-merge | Introduce and use caml_ext_table_add_noexc (#12202)
9fd47672 | merge PR12192 | Simplification with atomic_ helpers
063894d3 | merge PR11846 | Simplify and fix the shadow store reservation on Win64
518e6912 | non-merge | Don't include stdbool.h systematically (#12196)
3dacc75a | merge PR12171 | extern.c: raise OOM instead of passing null in caml_output_* entrypoints
4f327608 | merge PR12172 | major_gc.c: avoid using a PAGE_MASK macro
8655ab08 | merge PR12130 | Fix #11934 with more conservative Weak.get_copy

stdlib

38a5cb10 | merge PR12889 | Attempt at a thread-safe implementation of DLS
6d50a141 | merge PR12751 | Construct the bytecode executable header in ocamlc
40e295dd | non-merge | dynarray.ml: remove a stale comment
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
23e41982 | non-merge | Move the functions that use ZSTD compression to a separate zstd.c file
810f6e4c | merge PR12872 | stdlib: dynarrays are injective
b274ea5d | merge PR12843 | Improve "undefined Makefile variables" warning and fix it for GNU make 4.4.1
b8b2def6 | non-merge | Update stats at the end of a major cycle (and potentially a compaction) (#12850)
1236deba | merge PR12512 | Add volatile casts to FFI macros to enforce memory model
30971bf4 | merge PR12845 | Add {In,Out}_channel.is_binary_mode
b82413d0 | non-merge | Refactoring and extending the Digest module with better hash functions (#12307)
dc1c1055 | merge PR12815 | Fix inconsistency between source locations reported by Printexc and the compiler
982cf750 | merge PR12209 | stdlib documentation: superscript fixes
c2476e3d | merge PR12735 | Store both ends of the stack chain in continuations
e0fdea0a | non-merge | Fix Buffer.add_substitute (#12423)
3963eac8 | non-merge | Stdlib: add Fun.compose (#12770)
bdca250c | non-merge | format: fix incorrect odoc format (#12778)
104656fe | non-merge | Add Random.int_in_range and similar functions (#12459)
b4308a0c | merge PR12318 | fix bad behaviour of caml_alloc_custom_mem
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
22e7c76f | merge PR12726 | headernt.c: fix segmentation fault when runtime not found
10f13345 | non-merge | Fix the documentation of Bytes.split_on_char (#12718)
c6eec0c3 | non-merge | Improve the documentation of {String,Byte}.split_on_char (#12717)
f09aa852 | merge PR12716 | add Format.pp_print_nothing
7748b454 | merge PR12683 | Annotate Domain.self with noalloc
d21d884e | merge PR11882 | Dynarrays, boxed
16499659 | non-merge | Remove the Closure module from Obj (#12625)
21132207 | merge PR12455 | stdlib: add Array.init_matrix
455d3c95 | non-merge | Issue 11517 - Updated Format documentation (#12477)
ab3f102b | merge PR12571 | documentation: fix Format.make_formatter code example
1a485b40 | merge PR12572 | documentation: fix typo
5ed5f59f | merge PR12558 | Adapt Gc alarms for multicore
82d35c9e | merge PR11307 | Implement quality treatment for asynchronous actions in multicore (3/3?)
bd952ad3 | non-merge | Minor performance improvements and cleanups in the implementation of Int32, Int64, Nativeint (#12511)
0ed5dcb2 | non-merge | Fixing typos (#12457)
f772ae09 | non-merge | Add I/O primitives for Bigarrays (#12365)
a21971d9 | non-merge | gc.mli: update documentation of allocation policy (#12488)
f99614b9 | non-merge | Correct mismatched arg names in array/arrayLabels documentation (#12479)
41ccfb7e | merge PR12381 | Multicore statmemprof API
d99510d3 | non-merge | String docs tweaks (#12433)
d431cc7f | merge PR12409 | Fix async exception handling inside Domain.spawn
a7c77e1b | non-merge | documentation: currently unavailable GC metrics (#12376)
a770588c | merge PR12357 | Move constructor Bigarray.Float16 last in the type Bigarray.kind
e105f480 | non-merge | Typo in arg.mli documentation (#12352)
6842ffca | merge PR12212 | Add cache-aligned atomic
d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)
06d2fced | merge PR12293 | Compute $(STDLIB_MODULES) with GNU make functions instead of runtime/sak
f63bf2bd | merge PR12290 | Fix typo in blit_string doc
10ff4714 | merge PR10111 | Allowing displaying multi-line backtrace locations in the same way as errors
864f772e | merge PR12292 | Fix incorrect dependency and tweak shell quoting
7f56fda6 | merge PR12263 | Document that Domain.spawn can raise an exception
d0e2cd91 | merge PR12217 | Add Array.shuffle
451a2c90 | non-merge | Fix incorrect alert name; re-enable ocamldoc alerts during doc build. (#12237)
088fc769 | merge PR12131 | Simplify weak hash sets
c33fd13c | merge PR12187 | Fix warnings emitted when compiling the documentation
d174f90c | merge PR12072 | Document that Sys.rename works on directories too

testsuite

18007e6b | non-merge | Simple pretty-printing patches (#13130)
89301a2c | non-merge | shapes: do not read_back entire shape to get aliases uids (#13001)
03a308f4 | non-merge | testsuite: fix a forgotten hassysthreads in tests
8d77d5d4 | non-merge | Rework package constraint checking to improve interaction with immediacy (#12930)
38a5cb10 | merge PR12889 | Attempt at a thread-safe implementation of DLS
e17940fa | merge PR12678 | Free channel buffers on close rather than leaving them to the GC.
bb016005 | non-merge | fix tests that use Unix without checking whether the Unix library is configured (#13000)
8195440f | merge PR12974 | typing: fix a try_expand_once forgotten from #10170
7bb15e12 | merge PR12900 | Fix locking bug with custom runtime events
a419c766 | non-merge | TMC: fix translation of try-with, (&&), (||) (#12958)
4b92d4a0 | merge PR12934 | Fix data race between marking and sweeping
dc41ba93 | non-merge | ThreadSanitizer support for Risc-V (#12907)
45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
5e3ec06a | merge PR12942 | Correct order of "In module Foo" lines in module inclusion type errors
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
b4d894dd | merge PR12878 | Fix treatment of injectivity for private recursive types.
2278d39a | non-merge | Make Gc.compact do a complete compaction, add Gc.quick_compact (#12859)
2f1416b2 | merge PR12857 | Fix use of no-flambda in two tests
0c07b331 | merge PR12844 | Fix incorrect uses of libunix in the testsuite
3908dd36 | merge PR12842 | Some holiday testsuite cheer
8b96c530 | non-merge | show non-generalizable type parameters in type definitions (#12837)
b82413d0 | non-merge | Refactoring and extending the Digest module with better hash functions (#12307)
3aeee835 | merge PR12764 | Move all installable headers in caml/ sub-directories
a4e1d3d2 | merge PR12811 | Define and use the CAMLthread_local macro for TLS variables
241dd498 | merge PR12833 | Remove a non-existing file from a readonly_files list in a test
6e1ead06 | merge PR12827 | Don't use pthread.h in tests
dc1c1055 | merge PR12815 | Fix inconsistency between source locations reported by Printexc and the compiler
4fb079c8 | merge PR12809 | ThreadSanitizer support for FreeBSD/amd64
6fad48cf | merge PR12788 | Expose and use cpp, cppflags, and cflags in ocamltest
d5b5c349 | merge PR12706 | Merge testsuite sub-makefiles in the root Makefile and harden build system
c2476e3d | merge PR12735 | Store both ends of the stack chain in continuations
e0fdea0a | non-merge | Fix Buffer.add_substitute (#12423)
3963eac8 | non-merge | Stdlib: add Fun.compose (#12770)
20336d05 | merge PR12777 | Include "got" and "expected" details in method mismatch errors
104656fe | non-merge | Add Random.int_in_range and similar functions (#12459)
f03ed06b | non-merge | Missed check-typo
ba0e4258 | merge PR12759 | Fix testsuite operation on Windows
782598d5 | merge PR12757 | Fix ocamlnat by registering frametables correctly
d1cb680b | merge PR12744 | make -C testsuite parallel always runs tests in subdirs
b4308a0c | merge PR12318 | fix bad behaviour of caml_alloc_custom_mem
446b92da | non-merge | Fix #12727 (partial applications in Rec_check) (#12730)
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
efd73224 | non-merge | Fix label evaluation order (#12720)
6e0ba58f | merge PR12710 | Fix finaliser handover flakiness
bdd8d960 | non-merge | Make the GC compact again (#12193)
ed7b3824 | merge PR12708 | disable the finaliser_handover test
d73896d4 | merge PR12692 | parser: Location of typevars includes the quote
adfd0417 | non-merge | Fix regression in #12403: quote source code also for marshalled ASTs (#12698)
abee0259 | merge PR12689 | Remove benign data race in parallel test
f7d02698 | non-merge | Make tests/parallel/catch_break.ml more robust (#12618)
a0bbd7c7 | merge PR12181 | Simplify calls to caml_int_compare (and similar functions) (was #1809)
7fd42b77 | non-merge | clarify meaning of "non-path module type" (#12679)
9cb230cc | merge PR12673 | Fix type directed disambiguation of optional arg defaults
d21d884e | merge PR11882 | Dynarrays, boxed
dee09725 | non-merge | Remove benign data race in parallel test (#12680)
e397ed28 | merge PR12639 | parsing: Attach a location to the RHS of Ptyp_alias
e5c693d2 | merge PR12496 | Stop Simplif from causing disagreement between runtime arity and syntatic arity of a function
4042ca3b | non-merge | Re-enable ThreadSanitizer in the Inria CI (#12644)
d435a297 | merge PR12671 | Identify mismatched class type parameters and class parameters by ordinal in error messages.
82a04cfd | merge PR12667 | 64-bit big endian PowerPC ABIv2 support
aa45946b | merge PR12659 | More reliable tests for TSan
53d0d25e | non-merge | toplevel: allow multiple phrases in one line (#12029)
60393b5b | merge PR12437 | generalize tests/unwind to work on clang -O0
a912cff5 | merge PR12246 | Add a -H flag, second attempt
45460f58 | merge PR12651 | Correct libs used in output-complete-obj test
a6dd90b3 | merge PR12645 | Fix cyclic type error messages in presence of -short-paths
6a0a0a46 | non-merge | Update framepointers tests to avoid false positive with inlined C functions (#11594)
4df33cc5 | merge PR12613 | Make ocamlc/ocamlopt fail when not given input files
5d417433 | non-merge | Give hints about existential types appearing in error messages (#12622)
acf58ab5 | non-merge | Revert "Merge pull request #12588 from gasche/frame-pointers-test-more-robust"
1a9c4531 | non-merge | Fix variance composition (#12623)
24e51a90 | merge PR12588 | Frame pointer tests: stop backtraces at caml_main/caml_startup
2ec9ac7a | merge PR12593 | TSan should handle Effect.Unhandled correctly
15aa7789 | merge PR12602 | Minor dynlink cleanups
4c3016f1 | non-merge | Get rid of the LongString module (#12360)
0ac51f65 | merge PR12594 | Minor clean-ups for signals
94c5327f | merge PR12199 | Fix a typo in inheritance error message.
21132207 | merge PR12455 | stdlib: add Array.init_matrix
8e303850 | merge PR12514 | normalize \r*\n newlines to \n during lexing
01f737a2 | merge PR12535 | Fix delivery of effect-related exceptions, take 2 (#12486)
74f8c996 | non-merge | Improve location of alias pattern variables (#12580)
5f4117c9 | merge PR12568 | Disable the nonreturning-statement warning for while true in more cases.
82d35c9e | merge PR11307 | Implement quality treatment for asynchronous actions in multicore (3/3?)
c63d4d18 | merge PR12548 | Test cases for 7241
90235851 | merge PR12553 | Matching: more debug
fcf87c49 | non-merge | Honor inline always even for functions with optional arguments and default values (#12526)
aac3f109 | merge PR12403 | Read source files in one go before lexing
a7c016f2 | merge PR12498 | Fix "Open shadowing warning mistriggers"
f9fa70ac | non-merge | Move this test from lib-unix to lib-unix/common
25bad892 | non-merge | This test needs libunix
0ed5dcb2 | non-merge | Fixing typos (#12457)
f772ae09 | non-merge | Add I/O primitives for Bigarrays (#12365)
24e0fe65 | merge PR12499 | bigarray: fix deserialization of float16 bigarrays
e2160f7e | non-merge | Reduce loop length in runtime event test to avoid overflowing ring buffers (#12398)
be72b7b7 | non-merge | Fix typing regression of class types in recursive module declarations (#12483)
53317424 | non-merge | Simplify dynamic bytecode loading by having the runtime append RETURN 1 (#12430)
42035d06 | non-merge | Extend [@untagged] external attribute to all immediate types
7f480854 | non-merge | Test intext_par: use appropriate number of domains
a8f8726d | merge PR12391 | Add parameter location information to parsetree/typedtree
c257e499 | non-merge | ocamltest: fix recursive expansion of variables (#12371)
3301bdca | merge PR12428 | Bugfix for #12315
2612a1a9 | merge PR12368 | Build an explicit abstract environment for check_regularity (fix #12334)
ed265859 | non-merge | Specialized error message for syntactic function arity type clash (#12386)
90dae66e | merge PR11386 | Simplifications and fixes to multicore systhreads implementation (3/3)
5b3d14e6 | merge PR12236 | Syntactic function arity
3ab4c153 | merge PR12224 | Functor error messages: signatures are not functors
24dda560 | merge PR12373 | Make dependencies in testsuite/tools more accurate
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
0fe1adb5 | merge PR12369 | Fix typo in error message about primitives
e869a1d1 | non-merge | Add two tests for -short-paths with existential types (#12340)
3027e330 | non-merge | Fix skiplist test failure (#12346)
f9319a3e | merge PR12229 | Remove global state for typechecking patterns
53be7d11 | merge PR12347 | error messages: always report missing polyvariant tag
6842ffca | merge PR12212 | Add cache-aligned atomic
4c599fd1 | non-merge | Fix Windows Sys.rename regression from #12184 (#12320)
1b312360 | merge PR11931 | Fix tricky typing bug with type substitutions
2e270321 | non-merge | Local open in types (#12044)
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)
4719ea2e | merge PR12319 | Remove eroneous line directives in dynlink
5c6584fc | non-merge | Do not re-build type for or-pattern if a ground type annotation is given (#12313)
5babf9b5 | non-merge | Use type annotations from arguments in let rec (#12315)
d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
3565e17b | merge PR12295 | Give 'while true do e done' a polymorphic type
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)
5672ed60 | merge PR12276 | Update the POWER port for OCaml 5
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files
10ff4714 | merge PR10111 | Allowing displaying multi-line backtrace locations in the same way as errors
a84586d3 | non-merge | Fix #12145: Loopy constraints cause ocamlc to loop (#12180)
bbabb4b7 | merge PR12270 | testsuite: unlock mutexes in tests before exit
e993593b | non-merge | #12189: anonymous polyvariant rows and explicitly polymorphic type annotations (#12211)
dba3301e | merge PR11903 | Fix idle domain gc
fc9b93b6 | merge PR12260 | fix invalid_argument on some external or module aliases in ocamlnat
17f818bf | merge PR12191 | #12188: fix coercion in value bindings
683d0ca1 | non-merge | Sys.rename win fixes (#12184)
23dab79a | merge PR12213 | Improve legibility of dynamic linking error messages
9fd47672 | merge PR12192 | Simplification with atomic_ helpers
0a7c5fe3 | non-merge | New script language for ocamltest (#12185)
d174f90c | merge PR12072 | Document that Sys.rename works on directories too

tools

7bf5d1e2 | merge PR13017 | Ci tweaks for msvc
cae1443f | non-merge | change CI main script to avoid running on centos-oldest
6d50a141 | merge PR12751 | Construct the bytecode executable header in ocamlc
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
fb7aa7e8 | merge PR12746 | Simplify and clean up TSan annotations
2a97d23d | merge PR12862 | Hygiene tests: fix deepen-fetch.sh
b274ea5d | merge PR12843 | Improve "undefined Makefile variables" warning and fix it for GNU make 4.4.1
ba71f2e4 | merge PR12846 | Unified GitHub Actions workflows across release branches for ease-of-maintenance [trunk version]
fb3a6d85 | merge PR12624 | Be more XDG-compliant when searching for init.ml
1dae2f5a | merge PR12776 | check-typo: be more lax with urls
ef18034a | merge PR12760 | Update msvs-promote-path to upstream's 0.6.0
bdd8d960 | non-merge | Make the GC compact again (#12193)
a62f7fb6 | merge PR12701 | AppVeyor updates & evict the configure cache if configure changed
7a0439d7 | merge PR12652 | Make it easier to bump and duplicate magic numbers
ebae0d16 | merge PR12461 | CI: Check relevance of parsetree-change label
e397ed28 | merge PR12639 | parsing: Attach a location to the RHS of Ptyp_alias
4042ca3b | non-merge | Re-enable ThreadSanitizer in the Inria CI (#12644)
2f945aef | non-merge | CI other-configs: test C23 conformance using clang-18 -std=gnu2x
a912cff5 | merge PR12246 | Add a -H flag, second attempt
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
814c063b | merge PR12321 | Merge ocamltest/Makefile into the root Makefile
78e1e42e | merge PR12465 | Update config.sub and config.guess
5afb5d4e | merge PR12424 | fix warnings on Alpine Linux for parser freshness check
5b3d14e6 | merge PR12236 | Syntactic function arity
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
182367e1 | merge PR12358 | ocamlmktop: remove +ocamlmktop directory from include path
6842ffca | merge PR12212 | Add cache-aligned atomic
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files
50054a63 | merge PR12286 | Replace the set-output command with the GITHUB_OUTPUT environment file
0a7c5fe3 | non-merge | New script language for ocamltest (#12185)
05c9e822 | non-merge | Update GDB scripts to work with OCaml 5 (#12179)

toplevel

45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
fb3a6d85 | merge PR12624 | Be more XDG-compliant when searching for init.ml
b58aafcd | non-merge | Remove useless Obj.magic from ocamlnat code (#12761)
53d0d25e | non-merge | toplevel: allow multiple phrases in one line (#12029)
a912cff5 | merge PR12246 | Add a -H flag, second attempt
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
4c3016f1 | non-merge | Get rid of the LongString module (#12360)
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
aac3f109 | merge PR12403 | Read source files in one go before lexing
53317424 | non-merge | Simplify dynamic bytecode loading by having the runtime append RETURN 1 (#12430)
2612a1a9 | merge PR12368 | Build an explicit abstract environment for check_regularity (fix #12334)
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
3565e17b | merge PR12295 | Give 'while true do e done' a polymorphic type
2956a3af | merge PR12306 | Correct dependencies on otherlibs
27786a73 | merge PR12031 | Use a dedicated type to represent global identifiers in CMO files
fc9b93b6 | merge PR12260 | fix invalid_argument on some external or module aliases in ocamlnat

typing

89301a2c | non-merge | shapes: do not read_back entire shape to get aliases uids (#13001)
8d77d5d4 | non-merge | Rework package constraint checking to improve interaction with immediacy (#12930)
8195440f | merge PR12974 | typing: fix a try_expand_once forgotten from #10170
45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
5e3ec06a | merge PR12942 | Correct order of "In module Foo" lines in module inclusion type errors
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
b4d894dd | merge PR12878 | Fix treatment of injectivity for private recursive types.
8b96c530 | non-merge | show non-generalizable type parameters in type definitions (#12837)
cc33887d | merge PR12807 | remove Lazy in typing/
ac434b6d | merge PR12786 | remove abuses of levels in Ctype.limited_generalize
08069e6c | merge PR12782 | Compute sizes for recursive static bindings
20336d05 | merge PR12777 | Include "got" and "expected" details in method mismatch errors
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
446b92da | non-merge | Fix #12727 (partial applications in Rec_check) (#12730)
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
7d6bd421 | non-merge | Cleanup expand_abbrev_gen (#12691)
7fd42b77 | non-merge | clarify meaning of "non-path module type" (#12679)
9cb230cc | merge PR12673 | Fix type directed disambiguation of optional arg defaults
e397ed28 | merge PR12639 | parsing: Attach a location to the RHS of Ptyp_alias
d435a297 | merge PR12671 | Identify mismatched class type parameters and class parameters by ordinal in error messages.
a912cff5 | merge PR12246 | Add a -H flag, second attempt
a6dd90b3 | merge PR12645 | Fix cyclic type error messages in presence of -short-paths
5d417433 | non-merge | Give hints about existential types appearing in error messages (#12622)
1a9c4531 | non-merge | Fix variance composition (#12623)
3e683200 | merge PR12606 | [minor] Ctype TODO: use List.find_map
04e0e5dc | non-merge | Propagate the classification from Rec_check (#12551)
94c5327f | merge PR12199 | Fix a typo in inheritance error message.
74f8c996 | non-merge | Improve location of alias pattern variables (#12580)
5f4117c9 | merge PR12568 | Disable the nonreturning-statement warning for while true in more cases.
1a6784f3 | merge PR12542 | Restore a call to instance that was dropped in #12236
90235851 | merge PR12553 | Matching: more debug
7666fb68 | merge PR12531 | [refactoring] minor improvements to pattern typing
9d131445 | merge PR12552 | Add a reference to the paper describing the recursive bindings check
ed23f13a | merge PR12532 | Matching: improve the readability of the debug output
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
a7c016f2 | merge PR12498 | Fix "Open shadowing warning mistriggers"
0ed5dcb2 | non-merge | Fixing typos (#12457)
be72b7b7 | non-merge | Fix typing regression of class types in recursive module declarations (#12483)
42035d06 | non-merge | Extend [@untagged] external attribute to all immediate types
e3d69731 | merge PR12441 | parmatch: bugfix? in set_args_erase_mutable
70ec2408 | merge PR12442 | More lambda/matching documentation
a8f8726d | merge PR12391 | Add parameter location information to parsetree/typedtree
3301bdca | merge PR12428 | Bugfix for #12315
2612a1a9 | merge PR12368 | Build an explicit abstract environment for check_regularity (fix #12334)
ed265859 | non-merge | Specialized error message for syntactic function arity type clash (#12386)
5b3d14e6 | merge PR12236 | Syntactic function arity
3ab4c153 | merge PR12224 | Functor error messages: signatures are not functors
0fe1adb5 | merge PR12369 | Fix typo in error message about primitives
fff8f846 | non-merge | Make Pattern_env.t private (#12361)
f9319a3e | merge PR12229 | Remove global state for typechecking patterns
37c44cfe | non-merge | Pack the unification data for pattern checking in Typecore (#12331)
53be7d11 | merge PR12347 | error messages: always report missing polyvariant tag
1b312360 | merge PR11931 | Fix tricky typing bug with type substitutions
2e270321 | non-merge | Local open in types (#12044)
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)
5c6584fc | non-merge | Do not re-build type for or-pattern if a ground type annotation is given (#12313)
5babf9b5 | non-merge | Use type annotations from arguments in let rec (#12315)
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
3565e17b | merge PR12295 | Give 'while true do e done' a polymorphic type
08276afd | non-merge | Support 16-bit floating-point numbers as elements of bigarrays (#10775)
2956a3af | merge PR12306 | Correct dependencies on otherlibs
a84586d3 | non-merge | Fix #12145: Loopy constraints cause ocamlc to loop (#12180)
01c6dce4 | merge PR12025 | Split Typecore.unify_pat_types into two to avoid unnecessary references to the environment in type_pat
3d49c1fd | non-merge | Pack parameters to unification in unification_environment (#12109)
e993593b | non-merge | #12189: anonymous polyvariant rows and explicitly polymorphic type annotations (#12211)
17f818bf | merge PR12191 | #12188: fix coercion in value bindings
69472048 | merge PR12206 | remove unused error constructor: Unbound_row_variable

utils

996986ba | non-merge | ocamlopt: do not link -lzstd nor zstd.n.o by default, only for compilerlibs
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
ed648184 | merge PR12818 | Improvements to the Makefile/configure scripts for Windows
7a0439d7 | merge PR12652 | Make it easier to bump and duplicate magic numbers
bd524bdf | merge PR12672 | Silence ocamldoc warning on iter2
d435a297 | merge PR12671 | Identify mismatched class type parameters and class parameters by ordinal in error messages.
a912cff5 | merge PR12246 | Add a -H flag, second attempt
5d417433 | non-merge | Give hints about existential types appearing in error messages (#12622)
4c3016f1 | non-merge | Get rid of the LongString module (#12360)
8e303850 | merge PR12514 | normalize \r*\n newlines to \n during lexing
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
53317424 | non-merge | Simplify dynamic bytecode loading by having the runtime append RETURN 1 (#12430)
5b3d14e6 | merge PR12236 | Syntactic function arity
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap
06de6bc7 | merge PR12210 | compiler messages: a semantic tag for quoting inline code
224c14c4 | merge PR12265 | Fix the configuration of ZSTD on mingw-w64
d9547617 | non-merge | Dune build: fix domainstate ml/mli generation (#12245)

yacc

0a8ce126 | merge PR13027 | Add an include guard to yacc/defs.h
426f1ea3 | merge PR12769 | Unify MSVC and MinGW-w64 code paths
1dbc0100 | non-merge | Move the [[noreturn]] attribute to the front of the declaration (#12468)
829e32d2 | non-merge | Use CAMLnoret instead of CAMLnoreturn_{start,end} (#12235)

Misc files at the root

74a76cc2 | non-merge | release 5.2.0
5ead9e83 | non-merge | last commit before tagging 5.2.0
dfe59502 | non-merge | increment version number after tagging 5.2.0~rc1
9b4698b2 | non-merge | release 5.2.0~rc1
b9a92a9f | non-merge | last commit before tagging 5.2.0~rc1
3257d878 | merge PR13100 | Fix detection of zstd when compiling with musl-gcc
18c27bca | non-merge | Revert "Merge pull request #13029 from dra27/windows-zstd"
d38925dd | non-merge | increment version number after tagging 5.2.0~beta2
69881e2c | non-merge | release 5.2.0~beta2
a03ff938 | non-merge | last commit before tagging 5.2.0~beta2
3a176d76 | merge PR13029 | On Windows, only enable zstd if programs can run
4f89749b | non-merge | increment version number after tagging 5.2.0~beta1
4f6950eb | non-merge | release 5.2.0~beta1
78fb9374 | non-merge | last commit before tagging 5.2.0~beta1
7748b2e7 | merge PR13048 | Use the best native compiler available to build ocaml{doc,test}.opt
efc09461 | merge PR13030 | Restore configure-cache compatibility on mingw-w64 / msvc
2bc47925 | merge PR12915 | ThreadSanitizer support for s390x
93328fa5 | merge PR12876 | ThreadSanitizer support for POWER
87aac3ea | merge PR12998 | Use the PIC object file zstd.npic.o in libcomprmarsh.a
62780d00 | merge PR12918 | Disable control flow integrity on OpenBSD
dc8eb336 | non-merge | increment version number after tagging 5.2.0~alpha1
5a920f95 | non-merge | release 5.2.0~alpha1
ccefdedc | non-merge | last commit before tagging 5.2.0~alpha1
df19720d | non-merge | Bump magic number for 5.2 before first alpha
6d50a141 | merge PR12751 | Construct the bytecode executable header in ocamlc
50d9ea10 | non-merge | Fix an .o extension in the Makefile (#12950)
dc41ba93 | non-merge | ThreadSanitizer support for Risc-V (#12907)
45e6bd6f | non-merge | Compile recursive bindings in Lambda (#12596)
996986ba | non-merge | ocamlopt: do not link -lzstd nor zstd.n.o by default, only for compilerlibs
96dd664e | non-merge | Move compressed marshaling from stdlib/marshal to utils/compression
23e41982 | non-merge | Move the functions that use ZSTD compression to a separate zstd.c file
02b39701 | merge PR12508 | [shapes] Add support for project-wide occurrences
38111125 | merge PR12810 | ThreadSanitizer support for arm64
f87ea0be | non-merge | first commit on branch 5.2
23e84b8c | non-merge | last commit before branching 5.2
b274ea5d | merge PR12843 | Improve "undefined Makefile variables" warning and fix it for GNU make 4.4.1
0276f04f | merge PR12841 | Detect the C# compiler in configure for the testsuite
fb3a6d85 | merge PR12624 | Be more XDG-compliant when searching for init.ml
b82413d0 | non-merge | Refactoring and extending the Digest module with better hash functions (#12307)
ed648184 | merge PR12818 | Improvements to the Makefile/configure scripts for Windows
a4e1d3d2 | merge PR12811 | Define and use the CAMLthread_local macro for TLS variables
d09c3a76 | non-merge | dune: fix some build errors
605ae2d8 | merge PR12768 | Improvements to $ocaml_cv_cc_vendor in configure
4fb079c8 | merge PR12809 | ThreadSanitizer support for FreeBSD/amd64
6fad48cf | merge PR12788 | Expose and use cpp, cppflags, and cflags in ocamltest
d5b5c349 | merge PR12706 | Merge testsuite sub-makefiles in the root Makefile and harden build system
cbc5a0c8 | non-merge | Scan runtime/addrmap.c ... runtime/zstd.c for primitives less often (#12753)
1537083e | merge PR12608 | Add Constant and Class classifications for recursive bindings
426f1ea3 | merge PR12769 | Unify MSVC and MinGW-w64 code paths
db68f241 | non-merge | Fix compilation of compilerlibs
9b059b1e | merge PR12731 | Fix parallel recursive invocations of make causing sporadic "Other checks" CI failure
718553e7 | merge PR12451 | Rework warning 53 (misplaced attributes) to work on all attributes in all places
6601f1b6 | merge PR12714 | Warn if an undefined identifier is evaluated in an #if directive (enable -Wundef)
217d42e7 | merge PR12700 | Generate runtime/prims.c with the correct types in primitive declarations
7a0439d7 | merge PR12652 | Make it easier to bump and duplicate magic numbers
c4545470 | merge PR12616 | Merge ocamldoc/Makefile into the root Makefile
14a3ce63 | merge PR12586 | Merge compilerlibs/Makefile.compilerlibs into the root Makefile
82a04cfd | merge PR12667 | 64-bit big endian PowerPC ABIv2 support
c8353bc5 | merge PR12655 | Remove configure detection of ffs and _BitScanForward
cc754000 | merge PR12638 | Implement Caml_state in MASM
cb96ce84 | merge PR12573 | Makefile: build runtop without otherlibraries
4a458b91 | merge PR12443 | Fix the configure test for pthread_getaffinity_np
aa7dc30c | merge PR12168 | Fix old style declaration warning (was #11862)
2ee5c063 | merge PR12541 | Better error message if a necessary TSan flag is missing
c2b87d8f | merge PR12389 | Unified metadata for compilation files (or no more capitalize_ascii)
7f59ea0c | merge PR12524 | Synchronise ocaml-variants.opam with opam-repository
2ecd298d | merge PR12509 | Use strict prototypes on primitives in bytecomp
bde2dd69 | non-merge | Refactor the computation of stack frame parameters (#12242)
814c063b | merge PR12321 | Merge ocamltest/Makefile into the root Makefile
eb2153ba | merge PR12405 | Simplify the range of values used for Config.system
42035d06 | non-merge | Extend [@untagged] external attribute to all immediate types
78e1e42e | merge PR12465 | Update config.sub and config.guess
ca28168e | non-merge | Pass -no-execute-only to the linker for OpenBSD >= 7.3 (#12372)
c717b6b4 | merge PR12114 | Add ThreadSanitizer support
cc31f478 | merge PR12325 | Fix missing flexdll bootstrap dependency on Cygwin
76a2ac4b | merge PR12323 | Support 'raw identifier' syntax (new version)
d630b573 | merge PR12278 | Further simplifications to the flexlink bootstrap
5672ed60 | merge PR12276 | Update the POWER port for OCaml 5
2956a3af | merge PR12306 | Correct dependencies on otherlibs
06d2fced | merge PR12293 | Compute $(STDLIB_MODULES) with GNU make functions instead of runtime/sak
92c4a312 | merge PR12308 | Allow make promote-menhir from Windows
864f772e | merge PR12292 | Fix incorrect dependency and tweak shell quoting
221329a2 | merge PR12227 | configure: detect mixed mode userspace on arm
224c14c4 | merge PR12265 | Fix the configuration of ZSTD on mingw-w64
1fdf2911 | merge PR12266 | Clean lex directory during partialclean rather than clean
8e595b2f | merge PR12247 | Provide an --{enable,disable}-ocamldebug option synonym of --{enable,disable}-debugger
94a91f5f | merge PR12198 | Merge debugger/Makefile into the root Makefile
3fefff50 | non-merge | Reintroduce native compiler for s390x (#11712)
cd01cac2 | non-merge | make caml_time_counter concurrent-safe on macOS (#12234)
2725f080 | merge PR12190 | Take host into account when looking for pkg-config
250c12c4 | merge PR12170 | fix the configure check for pthread_getaffinity_np
6d0c5516 | non-merge | first commit after branching 5.1