Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Feb 13:01
4e8c999

1.0.0 (2024-02-12)

https://discuss.ocaml.org/t/learn-ocaml-1-0-is-out/14100

⚠ BREAKING CHANGES

  • Implement pre-compilation of exercises and graders.
    Prefix pre-compilation indicates the related commits below (sorted in chronological order).
  • Remove doc tutorial on depend.txt (it will need rewriting; relying on the new server engine).

Features

  • pre-compilation: Implement pre-compilation of exercises and graders (b03bdfe)
  • pre-compilation: Enable downloading for only the relevant artifacts (bc or js) (47d5a06)
  • pre-compilation: Include Prelude/Prepare and shadow them (787840b)
  • pre-compilation: ppx-metaquot: Add transformation introducing the register_sampler calls (3cd75f5)
  • pre-compilation: Restore compatibility with static deployment (f0e8346)
  • pre-compilation: Add support for a test_libs.txt file in exercises (d22a788)
  • pre-compilation: Preprocessing and typing of samplers and printers (e768616)
  • pre-compilation: Provide lib to compile grader helper libraries (3fc41ca)
  • server: add a --replace option (82d9bea)
  • grader: Show a status line on what is being built (995a79d)
  • CI: static-binaries: Deploy artifacts to GitHub Pages (01eae90^..9cf5486), closes #575
  • pre-compilation: CLI: Add CLI option learn-ocaml build --build-dir=[./_learn-ocaml-build] to increase compatibility with existing workflows (#585) (6535692)

Bug Fixes

  • grading: avoid failing on sampling arrays with unique elements (6a3ce07)
  • pre-compilation: Fix a small race condition in builder (87ee902)
  • pre-compilation: Properly type samplers (a97f813)
  • pre-compilation: Avoid double-printing of internal grader errors (7422ca4)
  • pre-compilation: Fix segfault on graders using samplers returning newly defined exceptions (c61a4d0)
  • pre-compilation: Be more precise on the definition and lookup of samplers (7825a6b)
  • pre-compilation: Fix printer registration in the grader (7d27523)
  • pre-compilation: Do some cleanup & Fix mutation_testing test lib (c432909)
  • pre-compilation: Allow printer registration in prepare/prelude & Fix print callbacks' usage (1ec3af6)
  • pre-compilation: dune: Fix dune dependency glitch on recompilation of mutation_test (32ad13e)
  • pre-compilation: docker: Include jsoo in Dockerfile, which is now needed (466e80c)
  • pre-compilation: CI: Fix permission issues (fa2cd23)
  • pre-compilation: Expose prepare.ml file (365cbb7)
  • pre-compilation: partition-view: Reactivate the feature (57ca10b)
  • pre-compilation: CLI: Report JSON parse error origin and locations (ee57ac1)
  • pre-compilation: grader:: Add a safeguard against grading workers going haywire (cb417d1)
  • pre-compilation: grader: allow exercises to use vg, gg (ead187e)
  • pre-compilation: partition-view: use newer asak compatible with precompilation (942edc2)
  • pre-compilation: build: update lockfiles (f1abb7d)
  • pre-compilation: CI: attempt to fix running the docker image on the corpus (b94f053)
  • pre-compilation: CI: disable compat tests with 0.12, 0.13 (91a418e)
  • pre-compilation: docker: install more libs in server image (6ce797f)
  • pre-compilation: grader: avoid errors with too many open files on parallel builds (6583af4)
  • server: Avoid using lsof -Q which is only available from lsof 4.95.0 (a242084), closes #580
  • UI: Small CSS fix for exercise lists on small screens (3c9c123), closes #574
  • server: Do exercise recompilation correctly with --replace (#584) (fe2a806), closes #583

Performance Improvements

  • pre-compilation: Make learn-ocaml build parallel by default (eaad14c)
  • pre-compilation: Dump the cmis for grading only once (e63359e)

Code Refactoring

  • pre-compilation: Get rid of the pseudo-cipher (2792faf)
  • pre-compilation: Rename and generalise recorder to ppx_autoregister (99e913d)
  • pre-compilation: Generalize sampler typing (264db4c)
  • pre-compilation: Disable debug flags (54851dd)

Build System

  • pre-compilation: Make make testrun parallel (46631d8)

CI/CD

  • release.yml: Replace hub (not installed anymore) with gh (cad060f)
  • release.yml: Next release version will be 1.0.0 (6e9cd2b)

Documentation

  • pre-compilation: translations: Update French translation (f028b75)
  • pre-compilation: Remove doc tutorial on depend.txt (it will need rewriting) (9155145)
  • pre-compilation: Update doc for pre-compiled exercises + test_libs.txt (2c89d9e)
  • pre-compilation: Add/Update copyright headers (5b4e0ab)
  • pre-compilation: Update index.md (f572990)