-
Notifications
You must be signed in to change notification settings - Fork 86
Expand file tree
/
Copy pathchangelog.in
More file actions
executable file
·10920 lines (9594 loc) · 247 KB
/
Copy pathchangelog.in
File metadata and controls
executable file
·10920 lines (9594 loc) · 247 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#
# Main authors:
# Christian Schulte <schulte@gecode.dev>
# Guido Tack <tack@gecode.dev>
# Mikael Zayenz Lagerkvist <lagerkvist@gecode.dev>
#
# Copyright:
# Christian Schulte, 2005
# Guido Tack, 2026
# Mikael Zayenz Lagerkvist, 2026
#
# This file is part of Gecode, the generic constraint
# development environment:
# http://www.gecode.dev
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
#
# This file contains entries for changelogs
#
# There are two kinds of entries: one marking releases and the others
# being actual entries.
#
# All the lines for describing entries must start at the beginning.
#
# A release is described as follows:
# [RELEASE]
# Version: <version string>
# Date: <when release>
# [DESCRIPTION]
# ... All the text up to the next [ENTRY] is included
# as description
#
# An entry is described as follows:
# [ENTRY]
# Module:
# kernel|search|int|set|float|cpltset|scheduling|graph|minimodel|
# driver|iter|support|example|test|gist|flatzinc|other
# What: bug|documentation|performance|new|removed|change
# Rank: minor|major
# Bug: <optional, for number from bugzilla>
# Issue: <optional, for number from github>
# Thanks: <optional, who reported etc>
# [DESCRIPTION]
# ... All the text up to the next [ENTRY] or [RELEASE] is included
# as description
# [MORE]
# ... If a more section is included, then it will be displayed as an
# optional section in the html page.
#
[RELEASE]
Version: 6.4.0
Date: 2026-07-15
[DESCRIPTION]
This release modernizes the Gecode build infrastructure, adds a
first-class CMake package for downstream consumers, refreshes the
autoconf build path, and updates CI coverage for current platforms.
[ENTRY]
Module: int
What: bug
Rank: major
Issue: 166
Thanks: Mats Carlsson
[DESCRIPTION]
Fix domain-level global cardinality propagation losing solutions by counting
assigned variables twice and retaining stale conflict marks when cardinality
bounds shrink.
[ENTRY]
Module: int
What: bug
Rank: major
Issue: 168
Thanks: Mats Carlsson
[DESCRIPTION]
Fix non-terminating propagation for sorted constraints when a matching
component contains no interval compatible with an input variable.
[ENTRY]
Module: other
What: bug
Rank: minor
Issue: 107
Thanks: Yuri Victorovich
[DESCRIPTION]
Do not install example data headers when examples are disabled in an Autotools
build.
[ENTRY]
Module: other
What: bug
Rank: minor
Issue: 108
Thanks: Yuri Victorovich
[DESCRIPTION]
Do not create empty MiniZinc directories when FlatZinc is disabled in an
Autotools build.
[ENTRY]
Module: example
What: bug
Rank: minor
Issue: 151
Thanks: Ioannis Papatsoris
[DESCRIPTION]
Treat zero entries in the TSP example as valid zero-cost edges. This lets the
br17 instance reach its optimum.
[ENTRY]
Module: example
What: bug
Rank: minor
Issue: 83
[DESCRIPTION]
Build CMake examples only when their required variable modules and MPFR support
are enabled.
[ENTRY]
Module: float
What: bug
Rank: major
Issue: 164
Thanks: Pierre Talbot
[DESCRIPTION]
Compute interval medians without overflowing at large positive or negative
bounds. Float search over an unbounded FlatZinc variable can otherwise fail to
make progress.
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
Issue: 99
[DESCRIPTION]
Keep an explicitly selected Gist execution mode when FlatZinc statistics are
requested, and report an error instead of silently running in solution mode
when Gist support is unavailable.
[ENTRY]
Module: flatzinc
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add support for the experimental MiniZinc black-box propagator interface,
contributed by Jip J. Dekker.
[MORE]
FlatZinc models can implement custom value and bounds propagation in a shared
library or persistent subprocess. The blackbox_dll and blackbox_exec annotations
select the backend and pass its arguments. Bounds callbacks return enclosing
intervals together with the dependencies that determine when the callback must
run again.
[ENTRY]
Module: minimodel
What: bug
Rank: minor
[DESCRIPTION]
Fix MSVC compilation of matrix slice conversion operators by fully
qualifying their dependent return types.
[ENTRY]
Module: gist
What: change
Rank: minor
[DESCRIPTION]
Restore the legacy GIST_STATIC_LIBS compatibility macro for static
Windows clients. GECODE_STATIC_LIBS remains the preferred spelling.
[ENTRY]
Module: kernel
What: bug
Rank: minor
Issue: 62
Thanks: k0stjap
[DESCRIPTION]
Dispose the random view selector used by random variable branching so
its random generator handle is released when the brancher is discarded.
[ENTRY]
Module: kernel
What: bug
Rank: minor
Issue: 205
Thanks: intractabilis
[DESCRIPTION]
Fix construction of argument arrays from empty `std::vector` instances
so zero-length copies do not take the address of a nonexistent first
element.
[ENTRY]
Module: minimodel
What: bug
Rank: minor
Issue: 139
Thanks: yuri@FreeBSD
[DESCRIPTION]
Fix default-constructed Boolean expressions so they can be used as
empty accumulators for conjunction and disjunction without reading
uninitialized node state.
[ENTRY]
Module: float
What: bug
Rank: minor
[DESCRIPTION]
Fix bounds propagation for floating-point power and nth-root
constraints so they no longer report fixpoint prematurely and no
longer call interval nth-root on zero-anchored even-root intervals
that can underflow in Boost interval arithmetic.
[ENTRY]
Module: float
What: bug
Rank: minor
[DESCRIPTION]
Fix floating-point multiplication propagation by using direct interval
contraction for the signed product relation. This avoids lossy sign
rewrites that could accept tight non-solution intervals.
[ENTRY]
Module: test
What: bug
Rank: minor
[DESCRIPTION]
Fix float power and nth-root tests with shared variables by
initializing their exponent fields and rejecting nth-root test
assignments whose source interval is not fully non-negative.
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
Issue: 207
Thanks: Nathan Tran
[DESCRIPTION]
Include the upper endpoint when generating FlatZinc on_restart
uniform integer and float values.
[ENTRY]
Module: other
What: change
Rank: minor
Issue: 203
Thanks: Bruce Mitchener
[DESCRIPTION]
Avoid rewriting the generated CMake config.hpp file when its
contents have not changed.
[ENTRY]
Module: kernel
What: bug
Rank: major
Issue: 211
Thanks: Kris Coester and Alexander Shepil
[DESCRIPTION]
Make failed space cloning transactional. If copying actors, advisors,
local objects, variable implementations, or clone disposal metadata
throws, Gecode now restores the source space and releases the partial
clone without leaving forwarding links, actor lists, or dispose notices
in an inconsistent state.
[ENTRY]
Module: kernel
What: bug
Rank: minor
Issue: 211
Thanks: Alexander Shepil
[DESCRIPTION]
Harden dispose-notice registration against allocation failure. Actors
are no longer disposed by the space when an AP_DISPOSE registration
fails before ownership has been transferred to the dispose-notice list.
[ENTRY]
Module: int
What: bug
Rank: minor
Issue: 211
Thanks: Alexander Shepil
[DESCRIPTION]
Fix exception safety in IntSet object allocation. Partially constructed
IntSet objects now initialize their cleanup state before allocating
range storage and release the object if range allocation fails.
[ENTRY]
Module: int
What: bug
Rank: minor
[DESCRIPTION]
Avoid signed integer overflow when computing integer-domain widths and
holes. Range width calculations now use unsigned arithmetic after
conversion, including full-domain integer ranges.
[ENTRY]
Module: minimodel
What: bug
Rank: minor
Issue: 211
Thanks: Alexander Shepil
[DESCRIPTION]
Fix MiniModel expression ownership during allocation failure. Boolean
misc-expression nodes and non-linear integer expression nodes now clean
up partially transferred objects and internal expression arrays while
preserving the public default LinIntExpr zero-expression invariant.
[ENTRY]
Module: search
What: bug
Rank: minor
Issue: 150
Thanks: Stefan Brüns
[DESCRIPTION]
Send CPProfiler's DONE message before disconnecting from the
profiler socket.
[ENTRY]
Module: search
What: bug
Rank: major
[DESCRIPTION]
Fix sanitizer-detected search issues, including branch-and-bound
recomputation undefined behavior, parallel search command and stop-state
races, PBS slave lifetime hazards, restart-stop state races, stop-object
limit races, and shared no-good accounting races.
[ENTRY]
Module: test
What: new
Rank: minor
[DESCRIPTION]
Add opt-in deterministic fault injection and sanitizer build support.
The new fault-injection tests exercise clone, dispose-notice, IntSet,
MiniModel, and heap-allocation failure paths that are otherwise hard to
reproduce reliably.
[ENTRY]
Module: int
What: performance
Rank: minor
Issue: 202
Thanks: Fabio Tardivo
[DESCRIPTION]
Strengthen bin-packing propagation with lower bounds based on
dual-feasible functions, improving early detection of infeasible
packing states.
[ENTRY]
Module: int
What: new
Rank: major
[DESCRIPTION]
Add selectable TupleSet support representations for extensional integer
constraints.
[MORE]
Tuple sets can use dense, sparse, compressed-dense, or automatic support
selection. Extensional posting selects the matching propagator. DFA-derived
tuple sets accept the same selector, while FlatZinc tables and examples that
materialize larger tuple sets use automatic selection.
A failed finalization leaves the tuple set in a terminal failed state,
reported by failed(); it cannot be finalized again.
[ENTRY]
Module: int
What: bug
Rank: minor
[DESCRIPTION]
Avoid reading past TupleSet range data when a negative compact-table
propagator receives an assignment outside every table range. Positive
compact-table propagators also preserve pending updates when a disabled
space is cloned and later enabled.
[ENTRY]
Module: other
What: change
Rank: major
[DESCRIPTION]
Modernize the build infrastructure across CMake and autoconf:
raise CMake minimum version to 3.21, update autoconf macros to
current style, make configure.ac the canonical autoconf source,
and centralize shared version metadata in gecode-version.m4.
[ENTRY]
Module: gist
What: change
Rank: minor
[DESCRIPTION]
Prefer Qt 6 for Gist and Qt-backed builds while keeping Qt 5.15+
as the supported legacy baseline. Installed CMake packages now
request the Qt major/minor version used to build Gecode.
[ENTRY]
Module: flatzinc
What: removed
Rank: major
[DESCRIPTION]
Remove the public GECODE_FLATZINC_VERSION macro. It described a fixed
FlatZinc language revision that no longer matches the capability-based
MiniZinc interface. Code that only needs the Gecode release should use
GECODE_VERSION; FlatZinc integrations should use the installed MiniZinc
solver metadata instead of gating parser use on a language-version macro.
[ENTRY]
Module: other
What: change
Rank: major
[DESCRIPTION]
Migrate build helper scripts from Perl to Python and execute them
via uv. This removes Perl as a build-time dependency and unifies
script execution in autoconf, CMake, and CI.
[ENTRY]
Module: search
What: bug
Rank: minor
[DESCRIPTION]
Fix CPProfiler compilation on Windows and MinGW by using the
standard _WIN32 platform guard, guarding MSVC-specific pragmas,
and linking against the Windows socket library where required.
[ENTRY]
Module: other
What: removed
Rank: major
[DESCRIPTION]
Remove outdated contrib modules (qecode and quacode) from the
main build, release artifacts, and repository maintenance path.
Downstream users that still need these modules should continue to
use an older Gecode release or maintain them outside the main tree.
[RELEASE]
Version: 6.3.0
Date: 2026-07-07
[DESCRIPTION]
This release contains accumulated FlatZinc, integer, support,
test, and platform updates since Gecode 6.2.0.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
Add support for fzn_sliding_among constraints. These are now in the
minizinc standard library and replace the previous Gecode-specific
among_seq constraints.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
Add support for fzn_regular_set constraint.
[ENTRY]
Module: int
What: bug
Rank: minor
[DESCRIPTION]
Fix GCD calculation for Boolean reified linear constraints.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
Add MiniZinc documentation comments to the Gecode-specific library file.
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
[DESCRIPTION]
Allow par identifiers in var array initialisers.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
Expose the full cumulatives scheduling constraint to MiniZinc.
[ENTRY]
Module: flatzinc
What: bug
Issue: 171
Rank: minor
[DESCRIPTION]
Correctly unshare variables for inverse constraint.
[ENTRY]
Module: flatzinc
What: bug
Issue: 170
Rank: minor
[DESCRIPTION]
Correctly unshare variables for div and mod constraints.
[ENTRY]
Module: flatzinc
What: bug
Issue: 169
Rank: minor
[DESCRIPTION]
Unshare variables for maximum_arg / minimum_arg constraints.
[ENTRY]
Module: int
What: bug
Issue: 167
Rank: minor
[DESCRIPTION]
Make extensional (compact-table) constraints check for duplicated variables.
Also fixes the FlatZinc interface to unshare arguments for extensional
constraints.
[ENTRY]
Module: support
What: change
Rank: major
[DESCRIPTION]
Replace platform-specific multithreading code with standard C++ threads.
[ENTRY]
Module: test
What: new
Rank: minor
[DESCRIPTION]
Add ability to add command line options to a FlatZinc test
[ENTRY]
Module: flatzinc
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add the implementation of the experimental "meta-search on restart" FlatZinc
feature. This features enforces search restrictions when the solver restarts,
allowing users to express many types of common meta-search operation. Examples
are (structured) large neighbourhood, lexicographic optimization, and pareto
front optimization.
[ENTRY]
Module: search
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add the reason for restarting to the MetaInfo object available when restarting.
[ENTRY]
Module: other
What: new
Rank: minor
Thanks: Jason Nguyen
[DESCRIPTION]
Set CMake policy for finding OpenGL to be compatible with application bundlers
on new systems.
[ENTRY]
Module: other
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add optional support for compiling gecode with MPFR using the CMake build
system.
[ENTRY]
Module: search
What: bug
Rank: minor
Thanks: Alexis LG
Issue: 156
[DESCRIPTION]
The parallel search engines could in some cases leak memory, when multiple
solutions are produced but not consumed. The fix clears the queue of solutions
on destruction.
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
The FlatZinc decomposition of "int_pow" would use a zero default value for the
base even raised to a negative value, causing unsatisfiability. The fix
introduces a simpler decomposition that moves the default values for impossible
exponent values to the result.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
Thanks: Jason Nguyen
[DESCRIPTION]
Rewrite "int_pow_fixed" into "gecode_int_pow" rather than using the default
MiniZinc decomposition.
[ENTRY]
Module: other
What: bug
Rank: minor
Thanks: Joerg Strebel
Issue: 136
[DESCRIPTION]
Fix compilation without threads
[ENTRY]
Module: gist
What: change
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add support for building Gecode Gist with Qt6.
[ENTRY]
Module: flatzinc
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add support for disjunctive and cumulative on optional variables.
[ENTRY]
Module: flatzinc
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Generate MiniZinc solver configuration for the Gecode FlatZinc using Gist.
[ENTRY]
Module: search
What: new
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Add RestartStop class to enforce a limit on the amount of restarts conducted
in a search. RestartStop is included in CombinedStop and accessible from the
FlatZinc interface through the --restart-limit flag.
[ENTRY]
Module: int
What: bug
Rank: minor
Issue: 128
Thanks: Mattias Grönkvist
[DESCRIPTION]
Distinct propagation (as used by distinct, channel, and circuit) would
sometimes read from uninitialized memory.
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
Thanks: Luis Quesada
[DESCRIPTION]
The gecode.mzn file now contains search annotation definitions for action
branching renamed from the previous erroneous and not working activity.
[ENTRY]
Module: other
What: change
Rank: major
[DESCRIPTION]
Gecode now requires C++ 11, the support for compiling without C++ 11
has been removed.
[ENTRY]
Module: kernel
What: change
Rank: minor
[DESCRIPTION]
Make the region pool thread local.
[MORE]
When running tests in parallel, having a shared pool for regions took too much
time on macOS. This change makes the pool into a thread_local instead.
[ENTRY]
Module: kernel
What: change
Rank: minor
[DESCRIPTION]
Use std::atomic for the global propagator identifier counter instead of guarding
using Support::Mutex.
[MORE]
Using a normal int and locking took too much time when running
tests in parallel on macOS.
[ENTRY]
Module: test
What: new
Rank: major
[DESCRIPTION]
Tests can now be run using multiple threads. Use the -threads n argument to
the test runner to run the tests using n threads. A value of 0 uses the number
of processing units to set the thread count.
Using 6 parallel threads, running the full test suite went from 4 hours 15 minutes
to 55 minutes on a 6-core machine. While not a perfect speed-up, it significantly
reduces the time to test Gecode.
[MORE]
Due to the high frequency of memory operations when running tests in parallel,
the system allocation on macOS has a hard time keeping up. To get full performance,
we recommend using another allocator, such as for example mimalloc.
Note also that logging and multiple threads for running tests do not work at the
same time.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Automatically generate and install a MiniZinc solver configuration and
install MiniZinc library into the share/minizinc/gecode standard location.
[ENTRY]
Module: int
What: new
Rank: minor
[DESCRIPTION]
Add versions of element constraints with offsets, to enable fast domain
consistent index set transformations.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
Use element-with-offset and 2d element propagators instead of performing
index transformations in MiniZinc.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
Accept combined -cp-profiler flag for activating CP-Profiler and always
send information to profiler.
[ENTRY]
Module: driver
What: change
Rank: minor
[DESCRIPTION]
Accept combined -cp-profiler flag for activating CP-Profiler instead of
using separate script mode.
[ENTRY]
Module: test
What: bug
Rank: minor
[DESCRIPTION]
Fix testing for IntAction, BoolAction, SetAction, FloatAction with
merit functions.
[ENTRY]
Module: flatzinc
What: change
Issue: 77
Rank: minor
[DESCRIPTION]
Move parser.tab.hh to parser.tab.hpp, Bison's standard location. This
ensures that the generated implementation file is compatible with
Bison 3.7.
[ENTRY]
Module: flatzinc
What: bug
Issue: 61
Rank: minor
[DESCRIPTION]
Fix fzn_table_bool and fzn_table_bool_reif predicates, which had
incorrect types.
[ENTRY]
Module: other
What: change
Rank: minor
Issue: 63
Thanks: Markus Elfring
[DESCRIPTION]
Remove usages of reserved identifiers such as __GECODE_KERNEL_HH__ and
_View.
[MORE]
Gecode used to use include guards of the form __GECODE_KERNEL_HH__.
Using a double underscore in an identifier is reserved, and thus
undefined behaviour. Use guards of the form GECODE_KERNEL_HH instead.
Similarly, names with a single leading underscore followed by a
capital letter are also reserved, and usage is thus undefined
behaviour, and are removed.
[ENTRY]
Module: flatzinc
What: new
Rank: minor
[DESCRIPTION]
Add MiniZinc constraint names to FlatZinc errors when applicable and
available.
[MORE]
A constraint name is specified in MiniZinc using a string annotation
"my name" on the constraint item, and is translated into FlatZinc
using the mzn_constraint_name("my name").
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
[DESCRIPTION]
The cumulative constraint now respects the semantics of the MiniZinc
definition for 0-duration tasks.
[ENTRY]
Module: flatzinc
What: bug
Rank: minor
[DESCRIPTION]
The roots and int_set_channel constraints now work for empty sets and arrays.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
The MiniZinc global constraint library has been updated for MiniZinc
version 2.3.0 and higher, taking advantage of the new library
structure that separates the modelling-level definition of a predicate
from the solver-level one.
[ENTRY]
Module: minimodel
What: change
Rank: minor
Thanks: Marco Correia
[DESCRIPTION]
Do not require that cost for FloatMinimizeSpace (use the maximum
instead) and FloatMaximizeSpace (use the minimum instead) must be
assigned.
[ENTRY]
Module: kernel
What: bug
Rank: minor
Thanks: Konstantin Popov
[DESCRIPTION]
Fixed crash when killing the last propagator in a space.
[ENTRY]
Module: example
What: bug
Rank: minor
Thanks: Florian Fontan
[DESCRIPTION]
Do not use size-based symmetry breaking together with CDBF.
[ENTRY]
Module: kernel
What: change
Rank: minor
Thanks: John W. Spirent
[DESCRIPTION]
Some small changes to compile with MSVC 2015 again.
[ENTRY]
Module: int
What: change
Rank: minor
Thanks: John W. Spirent
[DESCRIPTION]
Some small changes to compile with MSVC 2015 again.
[ENTRY]
Module: set
What: change
Rank: minor
Thanks: John W. Spirent
[DESCRIPTION]
Some small changes to compile with MSVC 2015 again.
[ENTRY]
Module: set
What: bug
Rank: minor
Thanks: Mats Carlsson
[DESCRIPTION]
Fix bool-set channel propagator to work correctly when posted
with a fixed set variable.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Update the error produced by the FlatZinc parser when an integer
literal is outside Gecode's integer limits.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
[DESCRIPTION]
The number of nodes and failures is now of type unsigned long
long int. Time is now consistently of type double.
[ENTRY]
Module: driver
What: change
Rank: minor
[DESCRIPTION]
The number of propagations, nodes, and failures is now of type
unsigned long long int. Time is now consistently of type double.
[ENTRY]
Module: search
What: change
Rank: minor
[DESCRIPTION]
The number of nodes and failures in statistics is now of type
unsigned long long int. Time is now consistently of type double.
[ENTRY]
Module: kernel
What: change
Rank: minor
[DESCRIPTION]
The number of propagations in statistics is now of type unsigned
long long int.
[ENTRY]
Module: search
What: bug
Rank: minor
[DESCRIPTION]
The linear cutoff generator started at zero rather than at the
scale factor.
[ENTRY]
Module: kernel
What: new
Rank: minor
[DESCRIPTION]
For action-based branching heuristics, one can now define whether
failure, propagation, or both should be considered.
[RELEASE]
Version: 6.2.0
Date: 2019-04-12
[DESCRIPTION]
The release enables half-reification in FlatZinc, fixes
indeterminstic behavior for shared branching criteria, and fixes
several aspects for general tracers. It is recommended to upgrade
as soon as possible.
[ENTRY]
Module: flatzinc
What: change
Rank: minor
Thanks: Jip J. Dekker
[DESCRIPTION]
Enable support for half-reified constraints in the Gecode MiniZinc
library. Half-reified constraints are used when a MiniZinc
expression has to be reified and is detected to be in a positive
context. If no Half-reified constraint has been made available by
solver, the full reification will be used. Half-reifed constraints
in the MiniZinc solver library are declared in the same way as
reified constraints, but are appended by "_imp" instead of "_reif".
[ENTRY]
Module: kernel
What: bug
Rank: major
[DESCRIPTION]
For the combination of some constraints (min, max, nvalues, and
some constraints over Boolean variables) with shared variable
selection branching (that is, AFC, Action, and CHB) the behavior
of Gecode was indeterminstic. The indeterminism was based on
using memory addresses for determining the order of variables in
some propagators which in turn affected which propagator might
record failure first and hence influenced the branching decisions.