This release of UTop 2.14.0 brings support for the upcoming version of the compiler, OCaml 5.2.
See full changelog
- Add support for OCaml 5.2 (#470, fixes #466, @leostera, @ManasJayanth, @huwaireb)
Read the latest releases and updates from the OCaml ecosystem.
This release of UTop 2.14.0 brings support for the upcoming version of the compiler, OCaml 5.2.
The release of UTop 2.13.0 introduced a regression on Windows. We're releasing UTop 2.13.1 with a patch, and made UTop 2.13.0 unavailable on Windows.
We're releasing version 2.13.0 of UTop! This version comes with a couple of bug fixes.
It also bumps the minimal required version of OCaml to 4.11.0 and removes deprecated values from the API.
Fix behavior of utop -stdin (#434, fixes #433, @tuohy)
Handle bounds with Zed.next_error
(#442, @tmattio)
Load files from XDG directories (the legacy paths still work). (#431, @Skyb0rg007)
Remove deprecated values prompt_continue
, prompt_comment
, smart_accept
,
new_prompt_hooks
, at_new_prompt
(#427, @emillon)
Require OCaml 4.11.0 or newer. (#444, @emillon)
Following the release of UTop 2.12.0 a few days ago, we released UTop 2.12.1, a patch release that fixes a regression with unit qualification.
This release also includes an implementation of completion-at-point
for Emacs.
Unit
module is in scope with
no ()
constructor (fix regression with unit qualification ocaml-community/utop#429, fixes regression with qualifying () ocaml-community/utop#428, @emillon)UTop 2.12.0 is out with support for the upcoming release of OCaml 5.1!
This release also fixes an issue that prevented users to redefine the ()
constructor.
You can now safely run type t = () of unit
and continue using your top-level session.
Add support for OCaml 5.1 (#421, @emillon)
Mark prompt_continue
, prompt_comment
, smart_accept
, new_prompt_hooks
,
at_new_prompt
as deprecated (they have been documented as such since 2012
and most of them are ignored) (#415, @emillon)
Qualify ()
constructor in generated expressions. (#418, fixes #417, @emillon)
@toplevel_printer
annotated printers for functors (#378 @metavinek)lwt_logs
.ocamlinit
(@hyphenrf @copy #338)Emacs mode fixes:
utop-query-arguments
always returns (utop-arguments)
whether
it sets the utop-command or not (@dansanduleac #347)#edit_mode_vi
and #edit_mode_default
mode to set the editing mode(@kandu)#use_output
directive (@diml, #313)UTop
: add get_load_path
and set_load_path
to manage the include directories (#284)UTop
: val load_path : string list ref
is removed (#284)The new feature in this release is to automatically install
printers marked with [@@ocaml.toplevel_printer]
(#269 @diml).
Adding this annotation to your libraries will remove the need
to have a separate top
package to install the printers.
For example, in the uri
library, the old printing function for Uri.t
was:
val pp_hum : Format.formatter -> t -> unit
Just adding this annotation results in Uri.t
values being automatically
pretty printed in this version of utop.
val pp_hum : Format.formatter -> t -> unit [@@ocaml.toplevel_printer]
doc:
entry to opam file (#270 @avsm)utop.el
(#210, Louis Gesbert)-implicit-bindings
option to automatically bind expressions to names
_0
, _1
and so on. For example, 3 + 4;;
becomes let _0 = 3 + 4;;
(#161, #193, Fabian Hemmer)#mod_use
(#181, Leonid Rozenberg)#help
in #utop_help
(#190, Fabian Hemmer)#utop_stash
and #utop_save
to save the session to a file
(#169, #199, Christopher Mcalpine and Fabian Hemmer)UTop_main.interact
UTop.set_external_editor
UTop.set_margin_function
to allow users to set
the margin for the toplevel outcome. It is 80 by default{|...|}
)#pwd
directiveUTop_main.interact
_ Deferred.t
value).
The new version is more robust against future change in Asyncreplace-in-string
function in the
emacs mode (Syohei Yoshida)utop-minor-mode
to make integration with major modes cleanerUTop.end_and_accept_current_phrase
to avoid typing ;;
at the
end of every phrasesConfig.load_path
as UTop.load_path
(Peter Zotov)Async_core
to
Async_kernel
#load_rec
the same way as #load
-require
command line argument to specify packages on the
command line$OCAML_TOPLEVEL_PATH/autoload
at
startup. Can be disabled with autoload: false
in ~/.utoprc
or
-no-autoload
.#typeof
to values and modules. Thanks to Thomas Refis for
this feature#utop_prompt_XXX
#require
when passing multiple packages#
to $
to match the standard
toplevelUTop.show_box
to allow one to hide the completion
bar_
. This can be disabled with
UTop.set_hide_reserved false
.Enter
in the middle of a comment-short-paths
options for OCaml >= 4.01.0
(and make it the default)Toploop
utop-full