Skip to content

Commit b9d9edd

Browse files
committed
(core) Updated CHANGELOG
Src-commit: cc098ac036fa18f7eea050319d8c303192f170a3
1 parent 4fc8c3e commit b9d9edd

File tree

1 file changed

+102
-3
lines changed

1 file changed

+102
-3
lines changed

CHANGELOG.md

Lines changed: 102 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,111 @@
11
# Changelog
22

3-
## [1.24.0] - 2024-10-13
3+
## [1.25.0] - 2025-6-10
44

55
@begin{alert}
6-
The release of 1.24 is in progress. The highlights in this list are in
6+
The release of 1.25 is in progress. The highlights in this list are in
77
a draft state.
88
@end{alert}
99

10+
## [1.24.0] - 2024-10-13
11+
12+
Compiler:
13+
14+
- CHANGED: `primitive_meta_predicate` replaced by `primitive(_)` metatype
15+
- IMPROVED: (experimental) support for more efficient predicate abstractions
16+
- IMPROVED: predicates from modules imported later have priority
17+
- IMPROVED: `dynamic_clauses` improvements (source preserving dynamic
18+
predicates): work in toplevel, preserving indexing, no `clause/2`
19+
duplication
20+
- FIXED: same visibility rules in toplevel and compiler (latest imported wins)
21+
- IMPROVED: updated rtchecks documentation
22+
- IMPROVED: better rtcheck messages when checking program points
23+
- FIXED: fix rtchecks for empty calls assertions
24+
- FIXED: do not generate rtchecks for data/dynamic predicates
25+
- FIXED: do not ignore empty calls assertions (it was a wrong fix for issue above)
26+
- FIXED: rtcheck for `gnd/1` is `ground/1`
27+
28+
Engine:
29+
30+
- ADDED: recover naive (low-overhead) profiler
31+
- ADDED: (disabled) experimental code to raise arity limit
32+
- IMPROVED: naive (cheap) builtin profiler
33+
- IMPROVED: select engine variant and options with CIAODBG, CIAORTOPTS
34+
- IMPROVED: better options for profile engine build (no need for
35+
debugging or C level profiling)
36+
- IMPROVED: `functor/3` and `arg/3` are ISO compliant
37+
- FIXED: fix `prolog_wait` for win32
38+
- FIXED: `select()` is not available in mingw64, dummy version of `$input_wait`
39+
- FIXED: avoid warning for unused var in `get_execpath()` for some architectures
40+
- FIXED: setup `SIGINT` handler when forcing interactive
41+
- FIXED: fix ciaowasm build for more recent Emscripten (emcc 3.1.69)
42+
43+
Libraries:
44+
45+
- ADDED: new `io_port_reify:call_with_std_redirect/3` predicate
46+
(fine-grained redirection of stdout/stderr)
47+
- IMPROVED: dependencies for installation under Guix and Termux
48+
- IMPROVED: better modes package documentation
49+
- IMPROVED: `markdown_parser`: richer language ids in fenced code blocks
50+
- IMPROVED: `stream_wait` moved into engine
51+
- IMPROVED: `system:wait(Pid,Status)` unifies `Status` with negative
52+
number if the process terminated due to a signal, instead of
53+
failing.
54+
- IMPROVED: `system:shell/\{0,1,2\}` simplified based on a common
55+
`'$exec_shell'/2` predicate and `wait/2`.
56+
- FIXED: fsyntax: `^X` (with X variable) is kept as it is
57+
- FIXED: fsyntax do not expand inside CLP(Q,R,fd) constraints
58+
- FIXED: allow `;/2`, `=/2`, `false/0` in 'pure' package
59+
- FIXED: clpfd: fix labeling option bisect, fix `clpfd:maximize/2`
60+
- FIXED: missing check in `atom_chars/2`
61+
- FIXED: Fixed several errors in documentation: dangling references
62+
to sections, wrong commands, syntactic errors, etc. Also some local
63+
improvements in the text itself as part of these fixes.
64+
65+
Documentation:
66+
67+
- ADDED: added `openpg` library to the manual
68+
- ADDED: added `library(profile)` (naive profiler) to the manual
69+
70+
ISO conformance:
71+
72+
- IMPROVED: iso_strict: using `dynamic_clauses` by default
73+
- IMPROVED: using ISO semantics for `functor/3` and `arg/3` in compiler and libraries
74+
- FIXED: `iso_strict`: fix `stream_property/2`, fix checks in `io_mode`
75+
type for `open/\{3,4\}`, `eof_action` in `open/4`, (dummy) reposition
76+
properties, `current_input/1` works with stream aliases too.
77+
78+
Ciao emacs mode:
79+
80+
- FIXED: Associate temporary directory for LPdoc generation to full path, not basename
81+
- FIXED: set `text-quoting-style` to 'straight' (needed for `emacs_mode`
82+
doc generation for Emacs>=25.1)
83+
84+
Unit Tests:
85+
86+
- ADDED: `setup/2` and `cleanup/2` test properties
87+
- ADDED: regexp and label filters
88+
- IMPROVED: unittest moved to core bundle
89+
- IMPROVED: Allow lists of targets in `run_tests/3` (which can be modules or
90+
directories)
91+
- IMPROVED: Major pass over unittest runner and driver implementation
92+
- IMPROVED: use `ciaosh` as loader for unittest runner (no longer an executable)
93+
- IMPROVED: Fine-grained communication with runner process (one test at a time)
94+
- IMPROVED: Better pretty print solutions and cases in test reports
95+
- FIXED: Warning if a target is a directory and `dir_rec` is not specified.
96+
- FIXED: Fixed treatment of filters (and multiple modules) when
97+
computing/showing summaries.
98+
- FIXED: Handling of variables shared in calls/success parts but not appearing
99+
in the predicate head.
100+
- FIXED: Mark tests with missing output as aborted in all cases
101+
- FIXED: Set unbuffered input in runner process
102+
103+
Debugger:
104+
105+
- IMPROVED: document the new d/w/p <av> commands.
106+
- IMPROVED: print option 'v' shows all variables in scope (not only uninstantiated)
107+
- IMPROVED: new source var printing (p a, p av, p ao)
108+
10109
## [1.23.0] - 2024-3-04
11110

12111
Build system:
@@ -18,7 +117,7 @@ Build system:
18117
Compiler:
19118

20119
- ADDED: Experimental support for clause translation after module expansion.
21-
- ADDED: '$meta_exp'/3 builtin (explicit meta expansions).
120+
- ADDED: `'$meta_exp'/3` builtin (explicit meta expansions).
22121
- ADDED: Hooks to customize handling source debugging information.
23122
- ADDED: Hooks for toplevel get line.
24123
- CHANGED: Factorized toplevel and debugger IO (`toplevel_io:top_get_line/1`).

0 commit comments

Comments
 (0)