View source with raw comments or as raw
    1/*  Predicate-version database -- generated by update_changelog/0.
    2
    3    Each changelog_event/7 fact records when a predicate was added,
    4    fixed, modified or enhanced.  Version is encoded as
    5    Maj*10000 + Min*100 + Patch (the value of PLVERSION); for
    6    unreleased commits the version is one patch beyond the
    7    latest reachable tag.  Submodule commits are tagged with the
    8    version of the first main-repo tag whose submodule pointer
    9    contains them.  The 7th field is the GitHub `Org/Name` of the
   10    repository in which the commit lives, so the documentation
   11    renderer can link to the correct repo.
   12*/
   13
   14:- module(changelog_events, [changelog_event/7]).   15
   16changelog_event(library(aggregate), enhanced, 80314, 1606466463, "96f65b30253bac200c0b903bb396d2f0a22bcf28", "ENHANCED: library(aggregate) to hide internal details from the debugger. Suggested by Peter Ludemann.", 'SWI-Prolog/swipl-devel').
   17changelog_event(library(aggregate), fixed, 80512, 1652168054, "c5f0281bd0cec7d83bc7fda9ea615bda00ffade4", "FIXED: Avoid Unicode quote in library(aggregate) comment", 'SWI-Prolog/swipl-devel').
   18changelog_event(library(ansi_term), enhanced, 80104, 1553673814, "ebcd12aa6c30723de0851dc103d3e5a0f0b47461", "ENHANCED: Do not setup colors if ``$TERM == dumb``.  Also, when library(ansi_term) is loaded, it will setup its default according to the same rules as the toplevel uses to load this library: I/O must be associated with a tty and $TERM may not be `dumb`.  Peter Ludemann.", 'SWI-Prolog/swipl-devel').
   19changelog_event(library(ansi_term), enhanced, 80122, 1581434194, "8337a37fe1b6de5cf7e02a8db42fc2e9e1bfe021", "ENHANCED: library(ansi_term): keep working of library(time) is not installed.", 'SWI-Prolog/swipl-devel').
   20changelog_event(library(ansi_term), enhanced, 90115, 1693419176, "41ac4a569c8e6c3d3b93a21449403962e3de1ece", "ENHANCED: Avoid dependency of library(ansi_term) on package clib", 'SWI-Prolog/swipl-devel').
   21changelog_event(library(ansi_term), fixed, 80104, 1553501569, "c993fedf8c4da231955e5d430f7e48eaf2ee7405", "FIXED: library(ansi_term): loading should not set the `color_term` flag to `true` if it is already defined.", 'SWI-Prolog/swipl-devel').
   22changelog_event(library(ansi_term), fixed, 80309, 1601308247, "1252e3b123583ba192eb927ffc004df523f20093", "FIXED: make library(ansi_term) load in ``--traditional`` mode. Falco Notgatz.", 'SWI-Prolog/swipl-devel').
   23changelog_event(library(ansi_term), fixed, 90335, 1762346761, "b7665cf95b860904d5d4a5ca955b31aaa16a7065", "FIXED: library(ansi_term): use initialization/1", 'SWI-Prolog/swipl-devel').
   24changelog_event(library(apply), enhanced, 90122, 1706178157, "c81998d74030ca83ecb131cec791958bda20ef74", "ENHANCED: Hide library(apply) from debugger.", 'SWI-Prolog/swipl-devel').
   25changelog_event(library(apply_macros), enhanced, 80505, 1641401731, "1a8403954c0fd541744435d8015c19d8fbf62377", "ENHANCED: library(apply_macros) now expands maplist calls with lists known at compile time into a sequence of calls if this is safe and the lists are at most 10 elements long.", 'SWI-Prolog/swipl-devel').
   26changelog_event(library(apply_macros), enhanced, 90119, 1699959296, "4b1841119b2c22f925c71ff83119dabf0cda5bae", "ENHANCED: load library(apply_macros) globally on ``-O``.", 'SWI-Prolog/swipl-devel').
   27changelog_event(library(apply_macros), fixed, 90003, 1671095948, "8d0bb1ccfd71629ec4ecf60d2b24856bb1af51b3", "FIXED: Issue#119: library(apply_macros) goal expansion for phrase/3 using a partial terminal was too greedy.  Uwe Neumerkel.", 'SWI-Prolog/swipl-devel').
   28changelog_event(library(apply_macros), modified, 90119, 1699906088, "8a6b6aa069eb59b4b87e742f2687582ed81e57ab", "MODIFIED: Control transformations by library(apply_macros).", 'SWI-Prolog/swipl-devel').
   29changelog_event(library(apply_macros), modified, 90119, 1700055565, "7d1e4521adab56d6b5c817d0dce8bcc823f39ea0", "MODIFIED: library(apply_macros) flags", 'SWI-Prolog/swipl-devel').
   30changelog_event(library(assoc), enhanced, 80503, 1638110413, "fd86e42abbbff7df621030efc1e267b8489437d8", "ENHANCED: library(assoc): partial rewrite to use SSU (=>/2) to generate errors when called with invalid input.", 'SWI-Prolog/swipl-devel').
   31changelog_event(library(c14n2), fixed, 80122, 1580817960, "d9a6021eadf8539c0bf7225e23100fddcfebeef2", "FIXED: library(c14n2): Preserve namespaces belonging to attributes in the element when canonicalizing.", 'SWI-Prolog/packages-sgml').
   32changelog_event(library(check), added, 80128, 1586175271, "7db61680e892451b0b80b62fe9479e813d20a323", "ADDED: library(check): list_cross_module_calls/0,1.", 'SWI-Prolog/swipl-devel').
   33changelog_event(library(check), enhanced, 100108, 1778525102, "843eff1e2c669b35cc5791a6ca06ab2fb49b9d36", "ENHANCED: library(check) gets list_confusable_identifiers/{0,1}", 'SWI-Prolog/swipl-devel').
   34changelog_event(library(checklast), modified, 90309, 1721324505, "a9d30eb178ec1079d21f57fbcf4588b98ec1d3de", "MODIFIED: drop library(checkselect) and library(checklast).", 'SWI-Prolog/swipl-devel').
   35changelog_event(library(checkselect), modified, 90309, 1721324505, "a9d30eb178ec1079d21f57fbcf4588b98ec1d3de", "MODIFIED: drop library(checkselect) and library(checklast).", 'SWI-Prolog/swipl-devel').
   36changelog_event(library(clpfd), added, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
   37changelog_event(library(clpq), modified, 80327, 1624948880, "077137b7f7a15afa682a67e378712da7ccbde92d", "MODIFIED: library(clpq) to throw ISO compliant exceptions", 'SWI-Prolog/packages-clpqr').
   38changelog_event(library('dcg/basics'), added, 80326, 1623611446, "bd122c4a49a69b4239fa626c50b272e8317bc1a3", "ADDED: eol//0 to library(dcg/basics).", 'SWI-Prolog/swipl-devel').
   39changelog_event(library('dcg/basics'), added, 90107, 1677667098, "e437101a1fb1849594dcf2f1aa4aa9eb49a56bfe", "ADDED: library(dcg/basics): csym(?Atom) as ``<csymf><csym>*``.", 'SWI-Prolog/swipl-devel').
   40changelog_event(library('dcg/high_order'), added, 80325, 1620747877, "8f8c520f15975a3b1beee2422843f47db0a979aa", "ADDED: Allow foreach//2 from library(dcg/high_order) to work with non-lists.", 'SWI-Prolog/swipl-devel').
   41changelog_event(library('dcg/high_order'), fixed, 80118, 1576152365, "f259009ac0d06d2a403463ee0c4dde2a1bf54f2c", "FIXED: library(dcg/high_order): determinism handling and final element handling for sequences.  Also clarified the documentation.  Raised by Boris Vassilev on the forum.", 'SWI-Prolog/swipl-devel').
   42changelog_event(library('dialect/xsb/tables'), modified, 80131, 1588844531, "e110b4880f64fd32a0771a068be8519a4960d02e", "MODIFIED: Move the `tables` library from library(dialect/xsb/tables) to the main library as the primary interface to reason about created tables.", 'SWI-Prolog/swipl-devel').
   43changelog_event(library(dicts), added, 90313, 1728658443, "8ee3600c7b4441c444bb9a0b1720b9c9bc0c4dcf", "ADDED: library(dicts): mapdict/2,3,4", 'SWI-Prolog/swipl-devel').
   44changelog_event(library(doc_markdown), introduced, 90121, 1702393441, "8295f58f576024eee5afb83aa7592940d0b69ded", "ADDED: print_markdown/2 to emit a string as markdown.", 'SWI-Prolog/packages-pldoc').
   45changelog_event(library(dom), added, 80517, 1663242267, "b87ae62a6e41f7224f8e2d1480d40baea78e5cc1", "ADDED: library(dom), providing Tau-Prolog compatible DOM interaction. Partial implementation.", 'SWI-Prolog/swipl-devel').
   46changelog_event(library(dom), added, 90200, 1706706507, "f3e7327dd4eff829554c93637eb51841573e0936", "ADDED: library(dom) (WASM version) bind/4: allow passing JavaScript objects.", 'SWI-Prolog/swipl-devel').
   47changelog_event(library(dom), added, 90322, 1743343956, "c41620c425cdc28addbc68f3a3a456e3062a1ad9", "ADDED: Complete the Tau-Prolog compatibility library(dom).", 'SWI-Prolog/swipl-devel').
   48changelog_event(library(dom), added, 90322, 1743422365, "7e6442af106e562d947ffaa2a1439a8506e0e639", "ADDED: library(dom): remove_class/2.", 'SWI-Prolog/swipl-devel').
   49changelog_event(library(dom), added, 90323, 1743694609, "9f8074b8e2f43647c9fdb5b2bbf9b8a6386a38ab", "ADDED: Start a new library(dom) based on html//1", 'SWI-Prolog/swipl-devel').
   50changelog_event(library(dom), fixed, 90322, 1743425997, "9eff436b15af6c3d1beaa815822c20cccff10b24", "FIXED: library(dom) get_by_id/2: getElementById() returns `null` on failure", 'SWI-Prolog/swipl-devel').
   51changelog_event(library(dom), fixed, 90323, 1743667067, "0ba8c0e6d1017512ab8e7d68314a678f2b998496", "FIXED: library(dom) set_attr/3: allow for atoms as values.", 'SWI-Prolog/swipl-devel').
   52changelog_event(library(dom), modified, 90323, 1743673353, "416a6ab4e9b062044aa68751802337734f59fc1f", "MODIFIED: WASM: Move library(dom) to the dialect `tau`.", 'SWI-Prolog/swipl-devel').
   53changelog_event(library(edit), fixed, 90121, 1702650400, "108c61b6da2dcae32409b7120c6929b1876e0f4a", "FIXED: Avoid dependency from library(edit) on library(pce).", 'SWI-Prolog/swipl-devel').
   54changelog_event(library(emacs_extend), fixed, 90322, 1742388847, "a70b91ec9ab228a7b7c466f9578fba8f0262b817", "FIXED: Load library(emacs_extend) explicitly in mode files", 'SWI-Prolog/packages-xpce').
   55changelog_event(library(epilog), added, 100113, 1785957989, "03d657492764206df498aa449fb62b38d0c052f6", "ADDED: library(epilog): epilog:tty_link_hook/1 to hook clicking links.", 'SWI-Prolog/packages-xpce').
   56changelog_event(library(epilog), added, 100113, 1786005678, "9b2b1e51c29540de094170be16e843d016a3453f", "ADDED: library(epilog): epilog:tty_link_hook/2 to hook clicking links,", 'SWI-Prolog/packages-xpce').
   57changelog_event(library(error), added, 80304, 1594904178, "1c108ab1a3e1de044ace25624a15085c09066e6b", "ADDED: library(error), type `pair` to denote a Key-Value pair.", 'SWI-Prolog/swipl-devel').
   58changelog_event(library(exceptions), introduced, 90316, 1732709837, "c1379fae3163d66bdc6f5d78c152742bea90a01b", "ADDED: library(exceptions)", 'SWI-Prolog/swipl-devel').
   59changelog_event(library(git), added, 90122, 1705236668, "bb6eb430bc25364d140f95fa7c95a3d2c6802a1f", "ADDED: library(git): is_git_hash/1.", 'SWI-Prolog/swipl-devel').
   60changelog_event(library(git), fixed, 80316, 1608025406, "528c52be156b27d15f7f53657332e6d4110df30f", "FIXED: Reloading library(git) due to operator conflict.", 'SWI-Prolog/swipl-devel').
   61changelog_event(library(graphviz_term), introduced, 100112, 1783687379, "739ceddea39f2742eb6fccfef7316be970a2acce", "ADDED: library(graphviz_term), converting Prolog terms into `.dot` files", 'SWI-Prolog/packages-xpce').
   62changelog_event(library(hashtable), introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
   63changelog_event(library('http/graphql'), added, 80515, 1657448728, "00583a8d15551283ec24e9ded35ea7359aab143d", "ADDED: library(http/graphql) implementing a GraphQL reader and QQ", 'SWI-Prolog/packages-http').
   64changelog_event(library('http/htmx'), added, 90308, 1716913228, "6be6bcb1969fe1fa9efa704824e044ae836b6c16", "ADDED: library(http/htmx).", 'SWI-Prolog/packages-http').
   65changelog_event(library('http/http_dyn_workers'), fixed, 80302, 1591963114, "6d870118e2c6a9710dd5716f80786a3ee6b62f18", "FIXED: library(http/http_dyn_workers) could start far too many workers due to (1) waiting a negative time to check the queue was draining and (2) not respecting the max_workers setting.", 'SWI-Prolog/packages-http').
   66changelog_event(library('http/http_error'), added, 90103, 1673448302, "ad6644a81a3ba0ce0519973ee655a9e5607cb1a6", "ADDED: library(http/http_error): dynamic predicate http_error:suppress_code/1 to make the library silent on specific reply codes.", 'SWI-Prolog/packages-http').
   67changelog_event(library('http/http_exception'), fixed, 90200, 1706272556, "4893c961fcc37a1415b84313d2149c035222f11b", "FIXED: Deal with non-existence of library(http/http_exception)", 'SWI-Prolog/packages-http').
   68changelog_event(library('http/http_load'), modified, 90304, 1713949431, "bc2130a10e23bf5aad2701d7b32c8b90dea13e14", "MODIFIED: library(http/http_load) to verify certificates", 'SWI-Prolog/packages-http').
   69changelog_event(library('http/http_log'), fixed, 90109, 1682338546, "2422579ac5958cf326bb3d986cff2db7dde2b24d", "FIXED: library(http/http_log): exception when logging was disabled.", 'SWI-Prolog/packages-http').
   70changelog_event(library('http/http_redis_plugin'), added, 80309, 1601985119, "2d25a0a10ec2ca43feb29e277762d6243436a241", "ADDED: library(http/http_redis_plugin) to use a redis DB for storing session info.", 'SWI-Prolog/packages-http').
   71changelog_event(library('http/http_session'), added, 80309, 1601985072, "bde1aecb1d98020bb80f1e9deb8f2bb0a4a6cd01", "ADDED: library(http/http_session): support for _hooking_ the storage layer of this library.", 'SWI-Prolog/packages-http').
   72changelog_event(library('http/http_unix_daemon'), enhanced, 80127, 1585482094, "78ad52d184281f4dd6acfb657cf6d196235689dc", "ENHANCED: library(http/http_unix_daemon): use thread_idle/2 while waiting for a maintenance event to reduce resource usage.", 'SWI-Prolog/packages-http').
   73changelog_event(library('http/http_unix_daemon'), enhanced, 90107, 1677598903, "4a2484e41335ae762f0ac83df25dab7fc421bbb9", "ENHANCED: library(http/http_unix_daemon) to use argv_options/3 in _guided_ mode.   This simplifies adding options and defaults for applications using this library and simplifies maintenance.", 'SWI-Prolog/packages-http').
   74changelog_event(library('http/jquery'), fixed, 90322, 1742215383, "fb2ca446de5e75b82251310b47107ed093bd343f", "FIXED: library(http/jquery): support Qlf compilation", 'SWI-Prolog/packages-http').
   75changelog_event(library('http/sse'), added, 100111, 1782464078, "190aeb8412038ef1546d026ee8ca9fc83eafedbe", "ADDED: library(http/sse): high-level helper for Server-Sent Events", 'SWI-Prolog/packages-http').
   76changelog_event(library('http/sse'), added, 100111, 1782816216, "ba2441baece0aedfab88d85956e5279d0a4a30a4", "ADDED: library(http/sse): honour http:cors setting in sse_open/0,1", 'SWI-Prolog/packages-http').
   77changelog_event(library('http/term_html'), added, 80308, 1600705553, "1058144d59064426a540c3ff78728058e953b0a1", "ADDED: term//2 from library(http/term_html): format/1 option to specify formatting all atomic values.", 'SWI-Prolog/packages-pengines').
   78changelog_event(library('http/term_html'), added, 90323, 1743693787, "ba9ab231f0050dad2a790aff3032a5f151f9dc26", "ADDED: term//2 from library(http/term_html): emit(:Closure) option.", 'SWI-Prolog/packages-http').
   79changelog_event(library('http/term_html'), fixed, 80122, 1580290148, "e55a2326dcb57544e4ba5b1e669aeedd51517f60", "FIXED: term//2 from library(http/term_html) to use priority 999 for list elements.", 'SWI-Prolog/packages-pengines').
   80changelog_event(library('http/term_html'), fixed, 80518, 1663945815, "34ebe7ff5fd60f754517071ca1ae39ce77db2f2c", "FIXED: term//2 from library(http/term_html) left a choicepoint.", 'SWI-Prolog/packages-http').
   81changelog_event(library('http/thread_httpd'), added, 80102, 1550056090, "7820f773f36f38b43d4fd6efa8f51d247f2259c8", "ADDED: library(http/thread_httpd): load `http_ssl_plugin` if the option list indicates we want SSL.  After remark by Fernando Sáenz-Pérez.", 'SWI-Prolog/packages-http').
   82changelog_event(library(http_open), fixed, 80122, 1580909361, "cd3679e62a4b7d933ef2e8d4fcf273a882b337f4", "FIXED: library(http_open): Include the path/1 in the parsed URL so that http_cookie can correctly use it to identify cookies with specific paths to be included in requests. Failure to include path/1 means that http_cookie will default to / which is not correct", 'SWI-Prolog/packages-http').
   83changelog_event(library(http_server_health), added, 90303, 1709644996, "9e4a712caa14004a66a958b13dfc07e529a9dc5a", "ADDED: library(http_server_health)", 'SWI-Prolog/packages-http').
   84changelog_event(library(http_unix_daemon), added, 80310, 1602602311, "7d673cf307468e7ba7f2b8679b1b6150762b1147", "ADDED: library(http_unix_daemon): broadcast `http(pre_server_start(Port))` and http(post_server_start(Port)) around starting the individual servers.", 'SWI-Prolog/packages-http').
   85changelog_event(library(http_unix_daemon), added, 90103, 1673021483, "83d0368e2eaa2bd4bfda3e15711a6cb462a17bd3", "ADDED: library(http_unix_daemon) to broadcast `http(shutdown)` before calling `halt(0)`.", 'SWI-Prolog/packages-http').
   86changelog_event(library(increval), modified, 80324, 1620226361, "0933877716248ca69588425a1e0ea56f5a4f6df4", "MODIFIED: Move library(increval) from dialect/xsb to the core library. Code using the XSB emulation should run unmodified.  Code that uses this library as `library(dialect/xsb/increval)` must be updated to load library(increval) or rely on autoloading.", 'SWI-Prolog/swipl-devel').
   87changelog_event(library(intercept), introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
   88changelog_event(library(jns_utils), added, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
   89changelog_event(library(json_rpc_client), added, 90336, 1764148403, "96af3fcc8fa6e55d1d3ec8a93f65fe4b0298fe0d", "ADDED: library(json_rpc_client): header(true) option", 'SWI-Prolog/packages-json').
   90changelog_event(library(json_rpc_client), introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
   91changelog_event(library(json_rpc_server), introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
   92changelog_event(library(json_schema), introduced, 90335, 1762788086, "d82730d7d232e32a7b08dedbbeca5af7155e0a89", "ADDED: library(json_schema) to provide checking JSON schema.", 'SWI-Prolog/packages-json').
   93changelog_event(library(listing), fixed, 80504, 1638777846, "02f19d008f5afc04b5876ec53328c907c85a56d1", "FIXED: Missing import into library(listing).", 'SWI-Prolog/swipl-devel').
   94changelog_event(library(lists), added, 90107, 1676741084, "3a90275836a2594eaba40394fc46e8dc2e51e8f0", "ADDED: library(lists): subseq/3.", 'SWI-Prolog/swipl-devel').
   95changelog_event(library(lists), modified, 80319, 1612965849, "c179126ef92399b2140cb7d4457927afd783f03e", "MODIFIED: Use SSU rules for some of the library(lists) predicates: max_member/2, min_member/2, sum_list/2, max_list/2, min_list/2, intersection/3, union/3, subset/2 and subtract/3.   This causes errors if the input arguments are non-lists or insufficiently instantiated.", 'SWI-Prolog/swipl-devel').
   96changelog_event(library(macros), added, 100107, 1778252974, "2499b725330e30f5aedae45b8ceb92e768645783", "ADDED: library(macros): include dicts as valid macros", 'SWI-Prolog/swipl-devel').
   97changelog_event(library(macros), enhanced, 90111, 1685434022, "3b802b36bd3e867a27ef24ccb907e9ca8429d783", "ENHANCED: library(macros) to leave `#Var` alone.", 'SWI-Prolog/swipl-devel').
   98changelog_event(library(macros), introduced, 90111, 1684956064, "444218409e4c4f31e2d763ee32798c73ab4a15b8", "ADDED: library(macros)", 'SWI-Prolog/swipl-devel').
   99changelog_event(library(main), added, 90109, 1682513323, "1f19dea0ca08d668763fd034eda84faf6f293303", "ADDED: library(main) cli flag processing for debugging.", 'SWI-Prolog/swipl-devel').
  100changelog_event(library(main), enhanced, 90000, 1669284646, "0aa52bb296b42f15bb65702f64b99dcbd0d37eac", "ENHANCED: library(main) to delay looking for tspy/1 or gspy/1 until the option is activated.", 'SWI-Prolog/swipl-devel').
  101changelog_event(library(main), fixed, 90315, 1731852555, "9beae60c55b8663c7e2961ac58400767eeff3dba", "FIXED: library(main): superfluous choice point in argv_options/3", 'SWI-Prolog/swipl-devel').
  102changelog_event(library(main), fixed, 100001, 1771342243, "4c7574a0e45b99776ded27a8d72778e9b25277dd", "FIXED: library(main): make spy options default to the user module.", 'SWI-Prolog/swipl-devel').
  103changelog_event(library(make), introduced, 80502, 1636538435, "b3c78b56845a4b4e9f753171e4617836c59232a3", "ADDED: pack_install/1: reorganized the code building foreign resources.  This code is now in a new library(build/tools) and uses a plugin architecture that deals with Conan, CMake and GNU tools (autoconf etc.).", 'SWI-Prolog/swipl-devel').
  104changelog_event(library(nb_set), enhanced, 90314, 1730217045, "65e9a3cf16835c9c44ad6ba7cd31909006e961e6", "ENHANCED: Re-implement library(nb_set) using closed hash tables.", 'SWI-Prolog/swipl-devel').
  105changelog_event(library(pan_zoom), introduced, 100109, 1780580837, "cc0cbbdbef712bfe0a2eedca8faf6a05ef986a34", "ADDED: library(pan_zoom)", 'SWI-Prolog/packages-xpce').
  106changelog_event(library(pce), enhanced, 90335, 1762677202, "01e2a217024fc75fdd86fe41e851cf216b8b15db", "ENHANCED: Detection of when to load library(pce).", 'SWI-Prolog/packages-xpce').
  107changelog_event(library(pce), fixed, 80501, 1634828853, "e6c77e7d082048d099ef765e1cf52f9440431273", "FIXED: Do not setup search path for library(pce) if ``--no-pce`` is given.", 'SWI-Prolog/packages-xpce').
  108changelog_event(library(pce), fixed, 90121, 1702650361, "33d1c0b16218703ca751164bec0d489b090528e4", "FIXED: Avoid dependency on library(pce)", 'SWI-Prolog/packages-pldoc').
  109changelog_event(library(pce_backcomp), introduced, 100106, 1776265752, "c13280604d1c85227a9a8bd53877090e247a73dd", "ADDED: `library(pce_backcomp)`: Provide better backward compatibility", 'SWI-Prolog/packages-xpce').
  110changelog_event(library(pce_dispatch), fixed, 80327, 1626080846, "b3e2422fe9d0d3331ff6214e3be28020c806f0f7", "FIXED: Allow autoloading library(pce_dispatch).", 'SWI-Prolog/packages-xpce').
  111changelog_event(library(pce_drop_target), introduced, 100109, 1781517506, "13961fe35054ed2629cf59d98f7045c818db7a60", "ADDED: library(pce_drop_target) for SDL3 drop overlays", 'SWI-Prolog/packages-xpce').
  112changelog_event(library(pce_openframes), introduced, 90327, 1753951372, "7428d4859a45482eea977e4103152e13a71ecb1d", "ADDED: library(pce_openframes)", 'SWI-Prolog/packages-xpce').
  113changelog_event(library(pce_symbol_picker), introduced, 100108, 1779028643, "ad38597dbfdd3fc8f5d9de3383d067affa4f1a2c", "ADDED: library(pce_symbol_picker) for picking Unicode symbols", 'SWI-Prolog/packages-xpce').
  114changelog_event(library(pengines_io), fixed, 80129, 1586795111, "89e6c55cb4cb8e8cc8055c449b136f9c2d6d0d4b", "FIXED: library(pengines_io): We cannot autoload library(http/html_write) due to use of :- html_meta/1", 'SWI-Prolog/packages-pengines').
  115changelog_event(library('pldoc/doc_changes'), added, 100110, 1782057788, "6651971f9cac9e8fbf353c57429933e332c6f51a", "ADDED: library(pldoc/doc_changes): machine readable access to changelog.", 'SWI-Prolog/packages-pldoc').
  116changelog_event(library(plunit), added, 90105, 1675243757, "b6ec668aaf7d9208b8dfd5dc121f63755245423c", "ADDED: Re-implemented library(plunit) option processing, mapping all global test options to Prolog flags ``plunit_<option>``, e.g.", 'SWI-Prolog/packages-plunit').
  117changelog_event(library(plunit), modified, 90104, 1674651611, "4074235739907fd8a135481d919a1636f3641ddd", "MODIFIED: Large scale rewrite the library(plunit).  Highlights:", 'SWI-Prolog/packages-plunit').
  118changelog_event(library(portray_text), enhanced, 80308, 1599990169, "2eccec9804442e97a696ea34d7c4ce64b77c71f8", "ENHANCED: library(portray_text): use appropriate quote (` or \"), escape the quote inside a string and added portray_text:is_text_code/1 to allow the user to extend the codes that are considered likely text codes.", 'SWI-Prolog/swipl-devel').
  119changelog_event(library(portray_text), enhanced, 80320, 1614591685, "3882b963b7d08bbe0c6395dd6956740fa8fa60f1", "ENHANCED: library(portray_text): updated docs, added set_portray_text/3 to get current settings and added to main documentation.", 'SWI-Prolog/swipl-devel').
  120changelog_event(library(portray_text), enhanced, 90121, 1702141966, "9a07892e66168ffad56fef554dd4fea566aeecc8", "ENHANCED: library(portray_text): allow 10% unicode characters", 'SWI-Prolog/swipl-devel').
  121changelog_event(library(portray_text), fixed, 80321, 1614860477, "9666c4d7a9dec3c62eccc03d59bb3d0b3c87dff7", "FIXED: GUI tracer interface to library(portray_text).", 'SWI-Prolog/packages-xpce').
  122changelog_event(library(progman), fixed, 80116, 1573468779, "7eca89ee4fcfcc4457b2d5b4cb7e9ecc5051c078", "FIXED: Issue#516: library(progman) string compatibility.  Paulo Moura. Also reenables installing this library on Windows.", 'SWI-Prolog/swipl-devel').
  123changelog_event(library(prolog_code), added, 80124, 1582650008, "0d76e37370df348a159c4d08b3839aecc549ffa3", "ADDED: library(prolog_code): is_control_goal/1.", 'SWI-Prolog/swipl-devel').
  124changelog_event(library(prolog_code), added, 80125, 1583424221, "f7a56f9264caeb04de5e83295bdb58fe8200101c", "ADDED: library(prolog_code): extend_goal/3.", 'SWI-Prolog/swipl-devel').
  125changelog_event(library(prolog_code), added, 80306, 1597849412, "5b2f4a107e2922ba027dcace263ec84321a7dc1a", "ADDED: library(prolog_code): is_predicate_indicator/1.", 'SWI-Prolog/swipl-devel').
  126changelog_event(library(prolog_code), introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
  127changelog_event(library(prolog_codewalk), fixed, 80114, 1567514578, "02b78b586555d03bc7e2130c8cf866445c5cd595", "FIXED: library(prolog_codewalk): limit initialization goals to target module.", 'SWI-Prolog/swipl-devel').
  128changelog_event(library(prolog_codewalk), fixed, 80302, 1592399579, "a087bacb2a18be16ee482bd3487994df53156eaa", "FIXED: library(prolog_codewalk): handle file/4 message terms.  Matt Lilley.", 'SWI-Prolog/swipl-devel').
  129changelog_event(library(prolog_codewalk), fixed, 80315, 1607010235, "ca648b41dad3304f9d428b185b230c63c16cb646", "FIXED: Make library(prolog_codewalk) work with `name()` predicate heads.", 'SWI-Prolog/swipl-devel').
  130changelog_event(library(prolog_colour), added, 80108, 1560690542, "01d60a8b4e7afe423374a8aeb7ee58a9594e4e98", "ADDED: PceEmacs: extend library(prolog_colour) to deal with all tabling declarations.", 'SWI-Prolog/swipl-devel').
  131changelog_event(library(prolog_colour), added, 80122, 1580567985, "ce9949f2a6705a11087f5457d7ae27eacfb25841", "ADDED: Support rationals in library(prolog_colour).", 'SWI-Prolog/swipl-devel').
  132changelog_event(library(prolog_colour), added, 90111, 1685008699, "6ef64f237cf3ce1b2256e8d5a263429ecfa1475f", "ADDED: library(prolog_colour): Add support for library(macro).", 'SWI-Prolog/swipl-devel').
  133changelog_event(library(prolog_colour), added, 90122, 1703002679, "7de42b8dca5396414e5aa7cace5ee82fa7dda336", "ADDED: library(prolog_colour): support arithmetic function roundtoward/2.", 'SWI-Prolog/swipl-devel').
  134changelog_event(library(prolog_colour), added, 90122, 1703006268, "3906761f1b56b2641bf0d41a88e8f270ab4f8c9b", "ADDED: library(prolog_colour): colorized known but unset flags.", 'SWI-Prolog/swipl-devel').
  135changelog_event(library(prolog_colour), added, 90317, 1733740033, "4bdb13577f63e2a7a04d946962514f942275ee2f", "ADDED: library(prolog_colour): track CHR declaration locations", 'SWI-Prolog/swipl-devel').
  136changelog_event(library(prolog_colour), added, 90319, 1736844869, "99f546928b894b8a84281d9b4bbc911947e4e1cc", "ADDED: library(prolog_colour): colour mode/1 directives.", 'SWI-Prolog/swipl-devel').
  137changelog_event(library(prolog_colour), enhanced, 80120, 1576845872, "b50a9e6be14b6284a9ef035ae29592718482de96", "ENHANCED: library(prolog_colour): qualified tabling declarations and avoid type error warnings on partially instantiated predicate indicators in declarations.  The latter is a bit dubious as it will indicate variables in e.g. ``:- dynamic p/N`` just as singleton.  It does however avoid a screaming warning when using dynamic in runtime calls from a computed arity.", 'SWI-Prolog/swipl-devel').
  138changelog_event(library(prolog_colour), enhanced, 90104, 1674208969, "90790500f25cfcae9584805094aaa8cea631c995", "ENHANCED: library(prolog_colour): handle arithmetic functions", 'SWI-Prolog/swipl-devel').
  139changelog_event(library(prolog_colour), enhanced, 90122, 1703064363, "c9ed3d0208009b92117cedb8323e94f252382d4a", "ENHANCED: library(prolog_colour) support for Prolog flags.", 'SWI-Prolog/swipl-devel').
  140changelog_event(library(prolog_colour), fixed, 80102, 1550050065, "41b7c40ca4574a55f2653b15dae3a37bf3438117", "FIXED: library(prolog_colour): Avoid an exception on :- meta_predicate p().", 'SWI-Prolog/swipl-devel').
  141changelog_event(library(prolog_colour), fixed, 80109, 1561975050, "82a71b4c74524e5341d10deb6164cc8221bdd0f7", "FIXED: library(prolog_colour): ``table (...) as ...``.", 'SWI-Prolog/swipl-devel').
  142changelog_event(library(prolog_colour), fixed, 80114, 1567601227, "000d5c427f571d1bbcbefa5508b7f646b45ed580", "FIXED: library(prolog_colour): prolog_colourise_query/3.", 'SWI-Prolog/swipl-devel').
  143changelog_event(library(prolog_colour), fixed, 80323, 1618998736, "a222e80271cddc87f34c590eb040b6d604255090", "FIXED: library(prolog_colour): prevent `pce_arg` highlighting to cause a failure to highlight dict objects.", 'SWI-Prolog/swipl-devel').
  144changelog_event(library(prolog_colour), fixed, 90318, 1736076596, "0105b4db472b44602fe3d8bba9d866ed60a1f4cd", "FIXED: library(prolog_colour): misleading colouring of `Dict.field`", 'SWI-Prolog/swipl-devel').
  145changelog_event(library(prolog_colour), fixed, 90322, 1743071123, "c7326f275f93cf209936253afe4c7cc5117c49e5", "FIXED: library(prolog_colour): style mismatch for multifile heads.", 'SWI-Prolog/swipl-devel').
  146changelog_event(library(prolog_colour), fixed, 90322, 1743075507, "408791422be8d72e8a7ab8e788a56b8d6d58698b", "FIXED: library(prolog_colour): handle non-ground directives.", 'SWI-Prolog/swipl-devel').
  147changelog_event(library(prolog_coverage), introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
  148changelog_event(library(prolog_debug), enhanced, 80501, 1634916441, "39f2e0a08d7311277c74b17bbe742ac2f298c70f", "ENHANCED: Allow loading library(prolog_debug) if `spy` and/or `nospy` are defined as operators.", 'SWI-Prolog/swipl-devel').
  149changelog_event(library(prolog_deps), added, 80131, 1588691513, "527717778134f5cfa977d27aedd205a07b56f644", "ADDED: library(prolog_deps) to also look at non-autoload libraries. Allows for e.g. get http_open/3 into the imports using PceEmacs C-cC-d.", 'SWI-Prolog/swipl-devel').
  150changelog_event(library(prolog_deps), fixed, 80310, 1602664064, "f5e977d51ae867d9feed3a910e648d1a27925ef1", "FIXED: library(prolog_deps): file_autoload_directives/3: fix minimizing updates to use_module/2 and autoload/2.", 'SWI-Prolog/swipl-devel').
  151changelog_event(library(prolog_deps), introduced, 80130, 1588176485, "804c1406908923f04f7cee3e6bd5d0d47251c6df", "ADDED: library(prolog_deps) to compute dependency directives for a file and optionally edit the file in-place to add the directives.", 'SWI-Prolog/swipl-devel').
  152changelog_event(library(prolog_evaluable), introduced, 90111, 1688374536, "a20d64152db8c9ca1e0ac999f7ec457f1c7d23ca", "ADDED: evaluable_property/2", 'SWI-Prolog/swipl-devel').
  153changelog_event(library(prolog_locale), introduced, 90315, 1731687887, "9d3a6d4c20187180557c8f95e745df4c930c802e", "ADDED: library(prolog_locale) to setup grouped printing of integers.", 'SWI-Prolog/swipl-devel').
  154changelog_event(library(prolog_profile), added, 90324, 1744982410, "3d6f20994f60fea4cc9050f3ca0a7cff96bb0c4c", "ADDED: library(prolog_profile): Prolog flags for defaults", 'SWI-Prolog/swipl-devel').
  155changelog_event(library(prolog_qlfmake), added, 90322, 1742241544, "3ff32a71bcde74c68d449fe3e22a0b11f7200966", "ADDED: library(prolog_qlfmake)", 'SWI-Prolog/swipl-devel').
  156changelog_event(library(prolog_qlfmake), introduced, 90322, 1742215767, "393ab0bdaa7e56fc336cda0366f4f5b8c6cebc6c", "ADDED: library(prolog_qlfmake)", 'SWI-Prolog/swipl-devel').
  157changelog_event(library(prolog_source), fixed, 90324, 1745221949, "45063ef4a954eebdadc384559e93bed28d3c4d78", "FIXED: library(prolog_source): undefined html_write:html_meta_head/3", 'SWI-Prolog/swipl-devel').
  158changelog_event(library(prolog_trace), introduced, 80109, 1561463888, "60c51aac279baae587930c7e0255a74ce284e51b", "ADDED: library(prolog_trace) for printing access to predicates.", 'SWI-Prolog/swipl-devel').
  159changelog_event(library(prolog_versions), enhanced, 90122, 1704816899, "2a82e1d2dae7ac5e4fbbb15c8c825ee269a10494", "ENHANCED: library(prolog_versions).", 'SWI-Prolog/swipl-devel').
  160changelog_event(library(prolog_versions), introduced, 80501, 1635104108, "514480b86da5d04b203f590ae33ec56d5c09414a", "ADDED: library(prolog_versions) to simplify demanding minimal version and features of the hosting Prolog system.", 'SWI-Prolog/swipl-devel').
  161changelog_event(library(prolog_wrap), introduced, 80107, 1558336133, "826ec2ca9be06770593224642c268c05201dd626", "ADDED: library(prolog_wrap), providing wrap_predicate/4 and some friends to manage dynamically wrapping and unwrapping Prolog predicates using an arbitrary body term. With input from Paulo Moura, Eric Toucher and Peter Ludemann on the forum.", 'SWI-Prolog/swipl-devel').
  162changelog_event(library(prolog_xref), added, 80518, 1664892983, "f2b4fb41a1b6ab42deffec28a715e37081dd6339", "ADDED: library(prolog_xref): Make aware of unit tests", 'SWI-Prolog/swipl-devel').
  163changelog_event(library(prolog_xref), enhanced, 90322, 1742403077, "a79fd9585ef3a4295072326cf8af0f5b24ba8521", "ENHANCED: library(prolog_xref): cleaner exception handling.", 'SWI-Prolog/swipl-devel').
  164changelog_event(library(prolog_xref), enhanced, 90322, 1742803263, "62a576616f7f18dc0ac386a383776cef3baaa1c2", "ENHANCED: library(prolog_xref) without sources", 'SWI-Prolog/swipl-devel').
  165changelog_event(library(prolog_xref), fixed, 80113, 1567428587, "f47708586e6abbfd065120bc8b0ab8a6c46b9480", "FIXED: library(prolog_xref): avoid looping on a module declaration with a variable export list.", 'SWI-Prolog/swipl-devel').
  166changelog_event(library(prolog_xref), fixed, 80309, 1601556158, "d918aa485f059635e7dc5185f70c43c163bf94fb", "FIXED: library(prolog_xref): handle included data if data is coming from a stream for which the encoding is fixed.", 'SWI-Prolog/swipl-devel').
  167changelog_event(library(prolog_xref), fixed, 90322, 1743071170, "cc24eed69e5c32f7e828da0f680f15a5dd448704", "FIXED: library(prolog_xref): missing multifile declaration.", 'SWI-Prolog/swipl-devel').
  168changelog_event(library(prolog_xref), fixed, 90326, 1753026479, "2ea47fe3794f80dce2916a515d21adcfffe31d99", "FIXED: library(prolog_xref): added some missing hook declarations.", 'SWI-Prolog/swipl-devel').
  169changelog_event(library(random), enhanced, 80115, 1569510220, "b037c5df1295695d18079d378f6dd7f97a328f24", "ENHANCED: library(random): performance of randset/3 and randseq/3 for selecting a small number of elements in a large range.", 'SWI-Prolog/swipl-devel').
  170changelog_event(library(random_terms), introduced, 100112, 1783687682, "d353c5791337ee5f77ccb77f6b026d07d66a7a7e", "ADDED: library(random_terms) — random Prolog term generator", 'SWI-Prolog/swipl-devel').
  171changelog_event(library(rbtrees), enhanced, 80501, 1634469617, "0ad98034f88b1a316db637a599668d8a174aecca", "ENHANCED: library(rbtrees): error checks and more test cases.", 'SWI-Prolog/swipl-devel').
  172changelog_event(library(readutil), fixed, 90121, 1702643407, "c99388a21ac31d89fc333b79d96eb87fd6be3d48", "FIXED: Loading library(readutil) without foreign support", 'SWI-Prolog/swipl-devel').
  173changelog_event(library(record), fixed, 80123, 1581925851, "b491613306598b921e0b5524c620cbf87cdfeb0b", "FIXED: Missing () around record can cause syntax errors if library(record) is loaded first.", 'SWI-Prolog/swipl-devel').
  174changelog_event(library(redis), added, 80309, 1601626394, "23b17f2febae2a13912e195d14abf6bfedea92a2", "ADDED: library(redis).", 'SWI-Prolog/swipl-devel').
  175changelog_event(library(redis_streams), introduced, 80310, 1602519005, "db51207febd2aa3501395da090d20de12291a25e", "ADDED: library(redis_streams).", 'SWI-Prolog/packages-redis').
  176changelog_event(library(rwlocks), introduced, 90111, 1685533629, "5400364a4219d7283becc75f9cb931b73a847cd8", "ADDED: library(rwlocks), implementing read/write locks.", 'SWI-Prolog/swipl-devel').
  177changelog_event(library(saml), fixed, 80122, 1580823003, "4a29bf29e31dd69bf3f4170c4424be5f5b11c471", "FIXED: library(saml) needs to be updated to use the new certificate API - in particular, two certificates cannot be compared using unification anymore", 'SWI-Prolog/packages-ssl').
  178changelog_event(library(saml), fixed, 80122, 1580827492, "53321bd73882595f92c56f154754e5d231512bb5", "FIXED: Update library(saml) to use new crypto API", 'SWI-Prolog/packages-ssl').
  179changelog_event(library(sandbox), added, 80123, 1581783853, "ad1283a195c77e38aa83729323f0cd4f54cb5790", "ADDED: library(sandbox): allow access to various new flags.", 'SWI-Prolog/swipl-devel').
  180changelog_event(library(sandbox), added, 80306, 1597910371, "15aefbb309381ef02944c9408886a312a7cbc9c5", "ADDED: library(sandbox): support load_files/2 with safe options.", 'SWI-Prolog/swipl-devel').
  181changelog_event(library(sandbox), added, 80315, 1606836220, "ebaeab09afe686233196839b227736e4bbf795eb", "ADDED: library(sandbox): declare nonground/2 as safe.", 'SWI-Prolog/swipl-devel').
  182changelog_event(library(sandbox), added, 80510, 1649083934, "95cd06bd15fa122aa561aa8440fa2da678f52fc1", "ADDED: library(sandbox): functor/4.", 'SWI-Prolog/swipl-devel').
  183changelog_event(library(sandbox), added, 80510, 1649162513, "16ff2b535d2ec5a9a16a453b60d17bb04df4cfd0", "ADDED: library(sandbox): support predicate_property/2", 'SWI-Prolog/swipl-devel').
  184changelog_event(library(sandbox), added, 80511, 1649418902, "e9f37a12a6e2ea292469b3392a0bbbf234bb038b", "ADDED: library(sandbox): allow declaring prolog flags as safe.", 'SWI-Prolog/swipl-devel').
  185changelog_event(library(sandbox), added, 90302, 1709059212, "14b18d75d2a1613f903ffacbc2f1147ed2fc26ca", "ADDED: library(sandbox): allow for current_predicate/1 without modules.", 'SWI-Prolog/swipl-devel').
  186changelog_event(library(sandbox), added, 90304, 1711293790, "3e61861cf6506664c4c19e4e63a003906c58ffa8", "ADDED: library(sandbox): allow for `Dict.get(key,Default)`", 'SWI-Prolog/swipl-devel').
  187changelog_event(library(sandbox), fixed, 80128, 1586432842, "86a11697f52b6f06c43ef662facd2d6f232c5fd1", "FIXED: library(sandbox): we need to load our dependencies explicitly as the sandbox library requires its dependencies while being loaded.", 'SWI-Prolog/swipl-devel').
  188changelog_event(library(sandbox), fixed, 80326, 1623653115, "e9d627ed9c3d9a06084e168183fa8e9cea0d450e", "FIXED: library(sandbox) to handle the possibility that rational/1 is not defined.", 'SWI-Prolog/swipl-devel').
  189changelog_event(library(sandbox), fixed, 80519, 1665739780, "435f43ab543c1dea506747c1944b2a12bca95f72", "FIXED: Add '$seek_list'/4 to library(sandbox).  Breaks nth1/3 and nth0/3.", 'SWI-Prolog/swipl-devel').
  190changelog_event(library(sched), introduced, 80514, 1657185386, "2749a4dedd06435312cff7c51a494c0bc1f396b1", "ADDED: library(sched), providing a start at accessing the OS scheduling primitives.", 'SWI-Prolog/packages-clib').
  191changelog_event(library('semweb/rdf11'), fixed, 80125, 1584723576, "7af2ee664e8541aa730d556ec173234286e5986a", "FIXED: library(semweb/rdf11) handling of time related data structures. Reported and diagnosed by Joost Geurts.", 'SWI-Prolog/packages-semweb').
  192changelog_event(library('semweb/rdf_portray'), enhanced, 80121, 1578739883, "2464b717421b6898107bb8d98fd0cceba40ef763", "ENHANCED: library(semweb/rdf_portray): recognise HTTPS URLs.  Joos Geurts.", 'SWI-Prolog/packages-semweb').
  193changelog_event(library(settings), enhanced, 80303, 1593187491, "0111bdd475933dae1154b1662f034b646b522c8a", "ENHANCED: Issue#625: library(settings): only save when modified and document persistency issues.", 'SWI-Prolog/swipl-devel').
  194changelog_event(library(simplex), fixed, 80315, 1607880669, "08817533140d54763f37cc1b26a61c4c8d7ab400", "FIXED: library(simplex): calling wrong predicate.", 'SWI-Prolog/swipl-devel').
  195changelog_event(library(statistics), modified, 90105, 1676218503, "f73ff0ba7c60ac5292c7224ac591560e96951658", "MODIFIED: Move profile interface from library(statistics) to library(prolog_profile),   With that we can easily omit installing this library and C API if the system does not support profiling.", 'SWI-Prolog/swipl-devel').
  196changelog_event(library(streams), introduced, 90001, 1669976258, "5ffbab07c0b26e6c05ed4757a8b5f57fc0a00576", "ADDED: library(streams).   Intended for various tricks in capturing and redirecting streams.   Currently only provides with_output_to/3 that extends with_output_to/2 to allow capturing `user_output` and `user_error`.", 'SWI-Prolog/swipl-devel').
  197changelog_event(library(strings), added, 80308, 1601040757, "a1f54673f51940aa9ec0e9ff14ba3346137cea0a", "ADDED: library(strings).", 'SWI-Prolog/swipl-devel').
  198changelog_event(library(strings), enhanced, 80308, 1601280976, "396ea38c50b014f23ab66fddaac824f621cc4ec5", "ENHANCED: library(strings): added indent_lines/3 and test cases for indent_lines, dedent_lines/3 derived from Python.", 'SWI-Prolog/swipl-devel').
  199changelog_event(library(tables), fixed, 80124, 1583238338, "adc03a07200c9954b7c9c4717489f1a45c3ec2cd", "FIXED: XSB library(tables), get_returns/2 to use new answer subsumption representation.", 'SWI-Prolog/swipl-devel').
  200changelog_event(library(tableutil), introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
  201changelog_event(library(terminal), added, 90326, 1748103327, "6671d326f061cecc70a58e0c9d1f4e2dc03f3ffc", "ADDED: library(terminal): provide embedded terminal.", 'SWI-Prolog/packages-xpce').
  202changelog_event(library(terms), added, 80317, 1609593955, "d5c9600958c8238beae6f1b3dbe735bf93c53126", "ADDED: library(terms): same_functor/2-4, mapterm/3", 'SWI-Prolog/swipl-devel').
  203changelog_event(library(test_cover), added, 90122, 1705497825, "e31f9402b49842ffd83c364f3ad52882834c50a1", "ADDED: library(test_cover): allow to save and restore coverage data.", 'SWI-Prolog/packages-plunit').
  204changelog_event(library(test_cover), modified, 90122, 1705498266, "72d70d2274bf678adc4639c850b46e215904949f", "MODIFIED: removed library(test_cover).", 'SWI-Prolog/packages-plunit').
  205changelog_event(library('theme/dark'), added, 80111, 1563701538, "4030185f422e9e0f0cf1864810acd414f06ea99a", "ADDED: library(theme/dark) as a first example for defining themes.", 'SWI-Prolog/swipl-devel').
  206changelog_event(library(thread), added, 80121, 1578320243, "fe7c28b169be70d56b6cad80c7228f050cf8231f", "ADDED: library(thread): call_in_thread/2 to run a goal synchronously in another thread, allowing to obtain information from a thread.", 'SWI-Prolog/swipl-devel').
  207changelog_event(library(threadutil), fixed, 90331, 1758439375, "ec4a10846bd1bc42425587eecaabba1164b1bc16", "FIXED: Update library(threadutil) for Epilog support.", 'SWI-Prolog/swipl-devel').
  208changelog_event(library(time), added, 80122, 1581433998, "052d17858a0c4b79559ccbb8803cead019e7f480", "ADDED: support autoload for library(time).", 'SWI-Prolog/packages-clib').
  209changelog_event(library(time), fixed, 80301, 1590936484, "20477dece4e256ad40914eb3c2fc9e6360264110", "FIXED: library(time): pthread_cond_signal() was called without holding the mutex.  Although allowed, this can result in unpredictable behaviour.  Notably, if may cause cleanup of the library to deadlock.", 'SWI-Prolog/packages-clib').
  210changelog_event(library('tipc/tipc_linda'), fixed, 90115, 1692979473, "0d56846f44f0987f69bb1b22836e46f40d210011", "FIXED: library(tipc/tipc_linda):", 'SWI-Prolog/contrib-tipc').
  211changelog_event(library(udb_broadcast), fixed, 80203, 1605860139, "50b35f579d07e14e1b5833b0032bc60d75c41a10", "FIXED: library(udb_broadcast): determine subnet mask for 127.*.*.* network. Jacob Friedman.", 'SWI-Prolog/packages-clib').
  212changelog_event(library(udp_broadcast), fixed, 80104, 1552580032, "0fd671b33bba1fda6d69d09aa91fd24e9a460dad", "FIXED: library(udp_broadcast): keep the inbound thread running on exceptions during broadcast.", 'SWI-Prolog/packages-clib').
  213changelog_event(library(udp_roadcast), fixed, 80308, 1601213409, "f9ab1773bdee86de1e9c69ae2875e32bbd103102", "FIXED: library(udp_roadcast): possible race condition.  Jacob Friedman.", 'SWI-Prolog/packages-clib').
  214changelog_event(library(unicode), enhanced, 100107, 1777728805, "c638d14a82d3bfcf0aa25d96871a7b05640aa430", "ENHANCED: Auto-load library(unicode) for unicode_atoms(nfc) at every entry point", 'SWI-Prolog/swipl-devel').
  215changelog_event(library(unicode_security), enhanced, 100108, 1778499567, "d0635f4811e3f934b1f1ce3f047dd9ae4b5c5b5a", "ENHANCED: scaffold library(unicode_security) plugin", 'SWI-Prolog/packages-utf8proc').
  216changelog_event(library(unicode_security), enhanced, 100108, 1778500453, "7c894feac997c7816a2a875a4e7a731705549db8", "ENHANCED: implement UTS #39 runtime in library(unicode_security)", 'SWI-Prolog/packages-utf8proc').
  217changelog_event(library(uniname), introduced, 100108, 1779013965, "1afc403c6958e15be812b8793f57f0268010e559", "ADDED: library(uniname) exporting unicode_name/2", 'SWI-Prolog/packages-utf8proc').
  218changelog_event(library(uri), modified, 90332, 1759937020, "45975efbe64664c221349b3adfc8d9673b697deb", "MODIFIED: library(uri) to raise more exceptions and support URNs.", 'SWI-Prolog/packages-clib').
  219changelog_event(library(uuid), enhanced, 80329, 1628239736, "6f520d9f8b686442ae6fba05e12d74d932a5f1c5", "ENHANCED: Always install library(uuid), providing (currently) a random UUID in case the OSSP-UUID dependency was not available for building SWI-Prolog.", 'SWI-Prolog/packages-clib').
  220changelog_event(library(uuid), fixed, 90335, 1762454719, "bb617f5b77fbb923b900dbf9ec263a178d53a591", "FIXED: Make library(uuid) work properly if autoloading is disabled.", 'SWI-Prolog/packages-clib').
  221changelog_event(library(wfs), introduced, 80106, 1557916658, "bb0d1bdee550e96741466a7052a2fb1ec96c33be", "ADDED: Tabling to support Well Founded Semantics.  Work suppored by Kyndi, with lots of help from Theresa Swift and David S Warren.", 'SWI-Prolog/swipl-devel').
  222changelog_event(library(win_console), added, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
  223changelog_event(library(win_menu), fixed, 90325, 1748357853, "720791cddc0e9922497ac8df45a7928be8a71cd3", "FIXED: Move swipl-win history support to library(win_menu).", 'SWI-Prolog/swipl-devel').
  224changelog_event(library(www_browser), added, 90306, 1714575582, "96d1a16417791b84de11a6a8093237968611f91c", "ADDED: library(www_browser): support host relative links.", 'SWI-Prolog/swipl-devel').
  225changelog_event(library(xdot), introduced, 100112, 1783618955, "74b7369e981d7c108f9f65670982aac0d5687767", "ADDED: library(xdot) + demo — graphviz pan/zoom viewer", 'SWI-Prolog/packages-xpce').
  226changelog_event(library(xmldsig), fixed, 80122, 1580823034, "07f41003a3a2870bb4d27e934974b089c562aec7", "FIXED: library(xmldsig) updated to use the new certificate API and use the nominated canonicalization method", 'SWI-Prolog/packages-ssl').
  227changelog_event(abolish/1, fixed, 80509, 1648025558, "39c41a091da70db4399bdcc75f0f87300b8a1ddc", "FIXED: abolish/1 on an imported predicate should decrement the reference count for the imported predicate.", 'SWI-Prolog/swipl-devel').
  228changelog_event(abolish_all_tables/0, fixed, 80320, 1614520022, "7cdc83edbcd29983a0a9c51cb7a749573e8154dc", "FIXED: abolish_all_tables/0 inside a transaction (more generally, abolishing tables inside a transaction).", 'SWI-Prolog/swipl-devel').
  229changelog_event(abolish_all_tables/0, modified, 80111, 1565096993, "42f670e26843e14799d31a7cf8d6ccad5ee82fb3", "MODIFIED: abolish_all_tables/0 abolishes both shared and local tables. Possibly incomplete tables are left alone.", 'SWI-Prolog/swipl-devel').
  230changelog_event(abolish_module_tables/1, introduced, 80109, 1561028731, "74de7bbd4fba8c2d1e54a76c7754f748dbd9a36b", "ADDED: abolish_module_tables/1.", 'SWI-Prolog/swipl-devel').
  231changelog_event(abolish_monotonic_tables/0, introduced, 80301, 1591629389, "36568dde7c8a4e4f5fa47358112d66b9df85309a", "ADDED: Monotonic tabling", 'SWI-Prolog/swipl-devel').
  232changelog_event(abolish_nonincremental_tables/0, introduced, 80109, 1562080517, "4fff8157f55c9bd554798dfd774855a2a56fa7dc", "ADDED: abolish_nonincremental_tables/0,1.", 'SWI-Prolog/swipl-devel').
  233changelog_event(abolish_nonincremental_tables/1, introduced, 80109, 1562080517, "4fff8157f55c9bd554798dfd774855a2a56fa7dc", "ADDED: abolish_nonincremental_tables/0,1.", 'SWI-Prolog/swipl-devel').
  234changelog_event(abolish_private_tables/0, introduced, 80122, 1580903786, "52d92831c7fc69b92bc5c03b3c91ec5b68d9ccf4", "ADDED: abolish_private_tables/0 and abolish_shared_tables/0.", 'SWI-Prolog/swipl-devel').
  235changelog_event(abolish_shared_tables/0, introduced, 80122, 1580903786, "52d92831c7fc69b92bc5c03b3c91ec5b68d9ccf4", "ADDED: abolish_private_tables/0 and abolish_shared_tables/0.", 'SWI-Prolog/swipl-devel').
  236changelog_event(abolish_table_subgoals/1, fixed, 80108, 1559646905, "20d23b2babf89723db33e3622082f4c6a517896b", "FIXED: abolish_table_subgoals/1 failed if no tabling has been done in the calling thread.", 'SWI-Prolog/swipl-devel').
  237changelog_event(abolish_table_subgoals/1, fixed, 80109, 1561028731, "4e8db68e7fca8364f233f145bd494ed48c03d094", "FIXED: abolish_table_subgoals/1 to deal with imported predicates.", 'SWI-Prolog/swipl-devel').
  238changelog_event(abolish_table_subgoals/1, fixed, 80130, 1588144859, "b01c81d0d3aa982a047c7cee1bc00c37e15e644d", "FIXED: abolish_table_subgoals/1: check for goal to be acyclic and raise an error if it is cyclic (XSB compatibility).", 'SWI-Prolog/swipl-devel').
  239changelog_event(abort/0, fixed, 80120, 1577025997, "28f2bea3a13c792b1f6ab7231a0bef370e485faa", "FIXED: Handle 'e' in the debugger from a thread.  Now safely terminates the thread using abort/0.", 'SWI-Prolog/swipl-devel').
  240changelog_event(abort/0, modified, 90321, 1739970100, "23ac0eb9d9b255dae1ef2fcec2b13669af2c327b", "MODIFIED: abort/0: disable debug mode.", 'SWI-Prolog/swipl-devel').
  241changelog_event(absolute_file_name/3, enhanced, 80316, 1608760006, "55d5ca7786b417e5dff5a763dff29a13dcfbcfac", "ENHANCED: absolute_file_name/3: do not create XDG directories unless the requested access is `write` or `append`.", 'SWI-Prolog/swipl-devel').
  242changelog_event(absolute_file_name/3, fixed, 80317, 1608999352, "5fe670363a5e4248573fc92af46fb842f0a56eda", "FIXED: absolute_file_name/3 regressing for creating config directories. Resulted in pack install issues reported by Nicholas Hubbard.", 'SWI-Prolog/swipl-devel').
  243changelog_event(absolute_file_name/3, fixed, 90110, 1682927109, "42e99a87544ee55b2c8318a6da92904885e2ee1a", "FIXED: absolute_file_name/3: allow for duplicate options.", 'SWI-Prolog/swipl-devel').
  244changelog_event(absolute_file_name/3, fixed, 100112, 1784020043, "a26ae3717f6d9290e0fe90fac5e9d3b9bb21643a", "FIXED: absolute_file_name/3 to enumerate all solutions while loading a file", 'SWI-Prolog/swipl-devel').
  245changelog_event(absolute_file_name/3, modified, 80328, 1628071144, "592327006e1162f42551d7a6380267c47a0a98cb", "MODIFIED: absolute_file_name/3 to return directories if the requested access is `none` and no file type is specified as `regular` or `directory`.", 'SWI-Prolog/swipl-devel').
  246changelog_event(absolute_file_name/3, modified, 90309, 1720709596, "7737f151687408e4d0bf4a366ded50570af2121e", "MODIFIED: absolute_file_name/3 relative to source", 'SWI-Prolog/swipl-devel').
  247changelog_event(absolute_file_name/3, modified, 90322, 1742242799, "1d19af0ad6dbb99a9d7a48f36690b1cabeb66278", "MODIFIED: absolute_file_name/3: distinguish file types `prolog` and `source`", 'SWI-Prolog/swipl-devel').
  248changelog_event(add_py_lib_dir/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
  249changelog_event(add_py_lib_dir/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
  250changelog_event(ansi_format/3, added, 80111, 1563701500, "8124503a585128edf18eca0f971b3be19f9e1e76", "ADDED: ansi_format/3: support 8-bit and true color escape sequences.", 'SWI-Prolog/swipl-devel').
  251changelog_event(ansi_format/3, added, 100113, 1785939553, "23a1b00a6cc43109a80a0a0e8c603abeb6c0e831", "ADDED: ansi_format/3,4: support href(URL) to create an OSC 8 escape.", 'SWI-Prolog/swipl-devel').
  252changelog_event(ansi_format/3, fixed, 80114, 1567607394, "36a1861ac7017f1ed98f5ff029ebdea3d7b0091e", "FIXED: ansi_format/3: handling of h(Name) for 8-bit color specification. Paulo Moura using Logtalk linter.", 'SWI-Prolog/swipl-devel').
  253changelog_event(ansi_format/4, introduced, 90335, 1763134687, "691581c67dea8c7e770ee27733d88f9aad44833a", "ADDED: ansi_format/4, formatting with colours to a stream.", 'SWI-Prolog/swipl-devel').
  254changelog_event(ansi_get_color/2, enhanced, 90115, 1693417080, "d2b13c3b24c93182b39a696a8673dfaab9b0d2ea", "ENHANCED: ansi_get_color/2 to use stream timeouts", 'SWI-Prolog/swipl-devel').
  255changelog_event(ansi_get_color/2, fixed, 80111, 1563959685, "8a26a53c1c89a7111128d92766a32ff3f1089e66", "FIXED: ansi_get_color/2: Need to switch mode before sending output as otherwise the reply may be echoed in the console.", 'SWI-Prolog/swipl-devel').
  256changelog_event(ansi_get_color/2, fixed, 90325, 1745868026, "a38c826a3616f348b4397edc19c6220f5e01d39b", "FIXED: ansi_get_color/2: avoid errors on swipl-win (Qt)", 'SWI-Prolog/swipl-devel').
  257changelog_event(ansi_get_color/2, fixed, 100104, 1771425952, "1bdb2bb5fb71b6051876ec65eef17c3078939cfb", "FIXED: ansi_get_color/2: not supported on Windows.", 'SWI-Prolog/swipl-devel').
  258changelog_event(ansi_get_color/2, introduced, 80111, 1563826260, "54d6b33fdda534c9c37cdf95e3a00d8cd8b487d0", "ADDED: ansi_get_color/2 to library(ansi_term) to find the current fore and background colors.  Intended to select an appropriate theme.", 'SWI-Prolog/swipl-devel').
  259changelog_event(ansi_hyperlink/2, introduced, 80504, 1639384537, "c3fae2bcd52b8e08407b792eb437ac26f2024290", "ADDED: Introduce url(Location) and url(URL, Label) message line elements.", 'SWI-Prolog/swipl-devel').
  260changelog_event(ansi_hyperlink/3, added, 90321, 1740850215, "dff6d7517abbd19ccaee302cfcc638b4641efab5", "ADDED: ansi_hyperlink/3: better handling of URLs", 'SWI-Prolog/swipl-devel').
  261changelog_event(ansi_hyperlink/3, enhanced, 100113, 1785958153, "e0d664c483404aa54ee03df9bf3c2fbb1e6c4d32", "ENHANCED: ansi_hyperlink/3: more general detection of non-file links.", 'SWI-Prolog/swipl-devel').
  262changelog_event(ansi_hyperlink/3, fixed, 90104, 1674138455, "361d8083cbaed22ea98c16f92aedee076c0a9a29", "FIXED: ansi_hyperlink/3.  Also unify ansi_hyperlink/3 and ansi_hyperlink/2.", 'SWI-Prolog/swipl-devel').
  263changelog_event(ansi_hyperlink/3, fixed, 90325, 1746092962, "06cf632a586b686dfdac3e2e1966b01ab90a6d54", "FIXED: ansi_hyperlink/3: Fix position logic", 'SWI-Prolog/swipl-devel').
  264changelog_event(ansi_hyperlink/3, fixed, 100113, 1786004898, "3b2ba36f8cec97094d795e19013f2d1f04d8b6fa", "FIXED: ansi_hyperlink/3 to take registered iri schemes as non-url.", 'SWI-Prolog/swipl-devel').
  265changelog_event(ansi_hyperlink/3, introduced, 80504, 1639384537, "c3fae2bcd52b8e08407b792eb437ac26f2024290", "ADDED: Introduce url(Location) and url(URL, Label) message line elements.", 'SWI-Prolog/swipl-devel').
  266changelog_event(answer_completion/1, fixed, 80107, 1559589026, "0b6322ff1194f2ce03b926990d6e672e65c2e7ac", "FIXED: We need the answer return template to avoid early completion of answer_completion/1 (now /2).", 'SWI-Prolog/swipl-devel').
  267changelog_event(answer_count_restraint/0, introduced, 80122, 1580138612, "371be2775613818ed044bca47fa50da803de8cbc", "ADDED: Partial support for tabling restraints.  Currrently deals with max_answers(Count) and provides the tabling options and Prolog flags to deal with _radial restraints_.", 'SWI-Prolog/swipl-devel').
  268changelog_event(answer_residual/2, introduced, 80106, 1557916658, "bb0d1bdee550e96741466a7052a2fb1ec96c33be", "ADDED: Tabling to support Well Founded Semantics.  Work suppored by Kyndi, with lots of help from Theresa Swift and David S Warren.", 'SWI-Prolog/swipl-devel').
  269changelog_event(apropos/2, enhanced, 100113, 1786038645, "f2a6096edc9879f0d15105df1f37a653e73718fa", "ENHANCED: apropos/2: use the Unicode ellipsis for truncated summaries", 'SWI-Prolog/swipl-devel').
  270changelog_event(apropos/2, introduced, 100113, 1786030726, "105bdec528934cd50e571b682bd2a99b02c21516", "ADDED: apropos/2: limit and offset options and clickable matches", 'SWI-Prolog/swipl-devel').
  271changelog_event(archive_foldl/4, introduced, 80101, 1548772797, "3a673cd727befbe813a003db562624d8bb4de5a1", "ADDED: archive_foldl/4", 'SWI-Prolog/packages-archive').
  272changelog_event(archive_open/4, fixed, 100112, 1784120863, "9050716d79c4cd2448cc835db47d58accacae085", "FIXED: archive_open/4 could leak the file stream on close_parent(false)", 'SWI-Prolog/packages-archive').
  273changelog_event(arg/3, enhanced, 80307, 1598517924, "47015b5c4481d633182d7830f1452893d21b7091", "ENHANCED: Compile simple arg/3 calls to the VM", 'SWI-Prolog/swipl-devel').
  274changelog_event(arg/3, fixed, 80312, 1604654448, "277a4a29d282cada28389abd4c70158b58bda0a8", "FIXED: arg/3 when compiled as B_ARG_VF did not correctly use the slow route if the argument is unbound.  Edison Mera.", 'SWI-Prolog/swipl-devel').
  275changelog_event(argv_options/3, added, 80501, 1634743177, "29c1a90399c9fe1cd4c6edd4f389388432f8c169", "ADDED: argv_options/3 to provide a full featured and lightweight alternative to library(optparse).", 'SWI-Prolog/swipl-devel').
  276changelog_event(argv_options/3, added, 80501, 1634747309, "c8a19975b5b74f2bea8d4c6125f5335a20d924c2", "ADDED: argv_options/3: type `term`", 'SWI-Prolog/swipl-devel').
  277changelog_event(argv_options/3, added, 80501, 1635186410, "9d7dbb38878a3d217d7509f0c85267a45c5af1a8", "ADDED: argv_options/3,4: allow for disjunctive types.", 'SWI-Prolog/swipl-devel').
  278changelog_event(argv_options/3, added, 80501, 1635236292, "a771a017978cbbacf78b55d7e1ed5463216d4ff6", "ADDED: argv_options/3: Allow the user to redefine the bindings for help. Suggested by @swi.", 'SWI-Prolog/swipl-devel').
  279changelog_event(argv_options/3, added, 80501, 1635239976, "9b1576bc559c7bbeff8eb91fd4ab250c4c70b3ad", "ADDED: argv_options/3: allow including longer descriptions as header, usage and footer in the usage message.", 'SWI-Prolog/swipl-devel').
  280changelog_event(argv_options/3, added, 80503, 1637759252, "331f7f99bf7f358d42b7cc5e4706aa4760675131", "ADDED: argv_options/3 to process type `number`", 'SWI-Prolog/swipl-devel').
  281changelog_event(argv_options/3, added, 90107, 1677598199, "dc3c5d04296b5cf542998c356aa6bde886273617", "ADDED: argv_options/3: allow for optional long options by allowing for a boolean in the disjunctive type.", 'SWI-Prolog/swipl-devel').
  282changelog_event(argv_options/3, fixed, 80501, 1634744553, "c7d6a009c999b4b4ffdc82619cdd4964b51ff5fa", "FIXED: Use `argv` rather than `os_argv`.   Breaks on new argv_options/3.", 'SWI-Prolog/packages-mqi').
  283changelog_event(argv_options/3, fixed, 90312, 1726673233, "126732b2729b5ad933ada8fdaac687503d97adc8", "FIXED: argv_options/3 handing of `boolean|Type` on last option", 'SWI-Prolog/swipl-devel').
  284changelog_event(argv_options/3, modified, 80132, 1589562575, "0ec5452e0e3010ef0ac3b961ecd589af8a582eeb", "MODIFIED: argv_options/3: map `-` in option names to `_`, compatible with SWI-Prolog's option handling in recent versions.", 'SWI-Prolog/swipl-devel').
  285changelog_event(argv_options/3, modified, 90312, 1726731732, "3c972ec07c4f8161d7e5d3751e43a1b2b43d369a", "MODIFIED: argv_options/3: with type (bool|sometype)", 'SWI-Prolog/swipl-devel').
  286changelog_event(argv_options/4, added, 80501, 1635071466, "ad38e8ad8f40ea99f2c2014992fb00fe1c4b1b5d", "ADDED: argv_options/4: `options_after_arguments(false)` option to stop processing options after the first positional argument.", 'SWI-Prolog/swipl-devel').
  287changelog_event(argv_options/4, added, 90109, 1682513268, "7378233a3f7bb0f952e1691c61590f8dd12d069b", "ADDED: argv_options/4: typed `directory` and `directory(+Access)`.", 'SWI-Prolog/swipl-devel').
  288changelog_event(argv_options/4, added, 90318, 1735898104, "85cac8272535e4215948687572db2c587ff653cc", "ADDED: argv_options/4: option unknown_option(pass)", 'SWI-Prolog/swipl-devel').
  289changelog_event(argv_options/4, enhanced, 90318, 1735898153, "b299992e98febe34dd3c001370de09277c40fb14", "ENHANCED: app `splfr` to use new argv_options/4 ability to pass unknown options.", 'SWI-Prolog/swipl-devel').
  290changelog_event(argv_options/4, introduced, 80501, 1634743177, "29c1a90399c9fe1cd4c6edd4f389388432f8c169", "ADDED: argv_options/3 to provide a full featured and lightweight alternative to library(optparse).", 'SWI-Prolog/swipl-devel').
  291changelog_event(argv_usage/1, enhanced, 90200, 1706272820, "fb1ad7f5bf1058fbd34cdd59f686111f7e231aa0", "ENHANCED: argv_usage/1: deal witn oneof(Values) types.", 'SWI-Prolog/swipl-devel').
  292changelog_event(argv_usage/1, enhanced, 90312, 1727168424, "f59b190658e5b757daae321596f328761fc8edda", "ENHANCED: argv_usage/1 to put a newline before the footer section.", 'SWI-Prolog/swipl-devel').
  293changelog_event(argv_usage/1, introduced, 80501, 1634743177, "29c1a90399c9fe1cd4c6edd4f389388432f8c169", "ADDED: argv_options/3 to provide a full featured and lightweight alternative to library(optparse).", 'SWI-Prolog/swipl-devel').
  294changelog_event(arithmetic_function/1, added, 90122, 1703001384, "90d0b9addd619aa2303a59dab7e772dde90ed1a4", "ADDED: arithmetic_function/1 to allow import/export", 'SWI-Prolog/swipl-devel').
  295changelog_event(assert/1, fixed, 80101, 1548256098, "5deb1b053f9c6e25c469783fd79858ee783b5c15", "FIXED: Issue#81: assert/1 and friends must produce a permission error if the predicate is not dynamic and defined.", 'SWI-Prolog/swipl-devel').
  296changelog_event(asserta/1, enhanced, 80107, 1558536476, "2c1efca6099ab52d47cf548ddc438ee908430b2c", "ENHANCED: improve performance of asserta/1 when there are lots of erased clauses", 'SWI-Prolog/swipl-devel').
  297changelog_event(assertion/1, fixed, 80511, 1650455637, "c1a700f43d885c136bde285427fc2d2bd111809a", "FIXED: Make source layout handling aware that debug/3 and assertion/1 may be removed by the optimizer.", 'SWI-Prolog/swipl-devel').
  298changelog_event(assertion/1, fixed, 90313, 1728470143, "09feb97b95662037f63aa17607899824b5db21af", "FIXED: Avoid message when assertion/1 is interrupted by abort", 'SWI-Prolog/swipl-devel').
  299changelog_event(assertz/1, enhanced, 80502, 1635753826, "f0e2614fd29aa022aa81be2f6709d9170dfa7c7a", "ENHANCED: Protect assertz/1 and friends (compiler) against C-stack overflows.", 'SWI-Prolog/swipl-devel').
  300changelog_event(atom_codes/2, fixed, 100108, 1778669483, "87ee4f8f979f6ebb090b5ddd100220124b739887", "FIXED: Do not allow surrogate pair code points in atom_codes/2.", 'SWI-Prolog/swipl-devel').
  301changelog_event(atom_json_dict/3, enhanced, 80124, 1583141575, "85c89a9bfa3a109333adfff98b55d6e1c0311e0d", "ENHANCED: atom_json_dict/3: use open_string/2 instead of memory files for better performance, more flexible input handling and error generation.", 'SWI-Prolog/packages-http').
  302changelog_event(atom_number/2, fixed, 80123, 1581969179, "dbe75feebe0246cb7b9acaad0648a732ba303e86", "FIXED: atom_number/2 in mode (-,+)", 'SWI-Prolog/swipl-devel').
  303changelog_event(atom_string/2, modified, 80301, 1590938743, "300eddcefbfe47ae47f730592677002ccee3f47b", "MODIFIED: atom_string/2, string_chars/2, string_codes/2 and text_to_string/2 accept any text representation as input on both arguments.  If both are instantiated, string comparison is applied.", 'SWI-Prolog/swipl-devel').
  304changelog_event(atomic/1, fixed, 100113, 1785599678, "42aff838de8dbc4190061575fa368348df4eaf58", "FIXED: xpce: atomic/1 no longer distinguishes a value from an object", 'SWI-Prolog/packages-xpce').
  305changelog_event(atomic_list_concat/2, fixed, 80311, 1604054276, "43ef7b8efb7c790ffa73d83252d34b0c9d8a0428", "FIXED: atomic_list_concat/2,3 and atomics_to_string/2,3: wrong exception on atomic_list_concat([a,b|c], X) and posssible memory leak on errors (non-atomic data, cyclic list).", 'SWI-Prolog/swipl-devel').
  306changelog_event(atomic_list_concat/3, fixed, 80315, 1607342690, "6e7d83bf02ff3c9198e3fd54aa6ee3995a409e09", "FIXED: atomic_list_concat/3: possible double free, corrupting memory.", 'SWI-Prolog/swipl-devel').
  307changelog_event(attach_pack/2, added, 80320, 1613479657, "1ac8b4031b361f9c0e84164c1e39ccbc9ce915ed", "ADDED: attach_pack/2.  Suggested by Falco Nogatz.", 'SWI-Prolog/swipl-devel').
  308changelog_event(attach_packs/2, added, 90122, 1705064865, "7e7e41a60b7ccede30bae86ea762319bdbf044ee", "ADDED: replace(+Bool) option to attach_packs/2.", 'SWI-Prolog/swipl-devel').
  309changelog_event(autoload/0, modified, 80122, 1581079281, "8e761cd81af0ff68faf2e1d470b2e45f1d5ab377", "MODIFIED: Renamed autoload/0,1 from library(prolog_autoload) to autoload_all/0,1 to avoid a conflict with the new autoload/1,2 directive.   As this library is normally used through saved-state creation the impact should be minimal.", 'SWI-Prolog/swipl-devel').
  310changelog_event(autoload/1, added, 80122, 1581079489, "dd476e4b2527443827bb7ae9da37d44db8002839", "ADDED: autoload/1,2, providing a controlled way to perform autoloading of both libraries and application files.  Controlled by the flag `autoload`, which provides an additional value `explicit`, disabling uncontrolled autoloading while keeping controlled autoloading.", 'SWI-Prolog/swipl-devel').
  311changelog_event(autoload/1, fixed, 80312, 1605082877, "b89d043cc7397b356d60a3e9e50c700c05c3fa14", "FIXED: Do not use sandboxing during autoloading.  Note that the autoload directive is not permitted in sandboxed code, so users cannot load untrusted code using autoload/1,2.", 'SWI-Prolog/swipl-devel').
  312changelog_event(autoload/1, fixed, 80327, 1625042292, "f15ebb5073d1c83353516aa94cdbba0ecfada641", "FIXED: Avoid permission error when using autoload/1 after autoload/2.", 'SWI-Prolog/swipl-devel').
  313changelog_event(autoload/1, fixed, 90322, 1742318332, "e0c0a54a92877aea4bfb939bc00bae2b02d54758", "FIXED: Handle autoload/1,2 declarations in aggregate .qlf files", 'SWI-Prolog/swipl-devel').
  314changelog_event(autoload/1, fixed, 90323, 1744199183, "fac66114fe600d6f3c74c799c1d5100ad5953e95", "FIXED: Allow for discontiguous autoload/1 and autoload/2 directives.", 'SWI-Prolog/swipl-devel').
  315changelog_event(autoload/2, fixed, 80125, 1584704927, "6078dd0beb6828c79242485ed2931d6d882725fd", "FIXED: silence autoload/2 if the predicate was already autoloaded from the same location.", 'SWI-Prolog/swipl-devel').
  316changelog_event(autoload/2, fixed, 80305, 1595081447, "d29e34b6454f7c2f9072d4bb80ba4b21353aaca0", "FIXED: Allow importing a predicate using autoload/2 while it is defined in `user` and make sure the imported predicate actually gets used.", 'SWI-Prolog/swipl-devel').
  317changelog_event(autoload/2, fixed, 90323, 1744199183, "fac66114fe600d6f3c74c799c1d5100ad5953e95", "FIXED: Allow for discontiguous autoload/1 and autoload/2 directives.", 'SWI-Prolog/swipl-devel').
  318changelog_event(autoload_call/1, added, 90326, 1751298123, "8fb32dc8d5f2cf2680b85509a18ec5d7d496c60d", "ADDED: autoload_call/1: call Goal after autoloading.", 'SWI-Prolog/swipl-devel').
  319changelog_event(autoload_call/1, enhanced, 90326, 1751298238, "c8d76bf1795214501dde43166f325208bb848e8e", "ENHANCED: Use autoload_call/1 to avoid undefined errors.", 'SWI-Prolog/packages-libedit').
  320changelog_event(autoload_call/1, fixed, 90326, 1751298198, "e665ca3900ed9ec8afd6c2b9623462a6969cb45f", "FIXED: Use autoload_call/1 to avoid reporting undefined predicates.", 'SWI-Prolog/swipl-devel').
  321changelog_event(autoload_call/1, modified, 90326, 1751298167, "28dc990732d06ea174e9caa553d5d104a013e1e9", "MODIFIED: Make the code walker ignore calls to autoload_call/1.", 'SWI-Prolog/swipl-devel').
  322changelog_event(await/2, enhanced, 90321, 1740146165, "8f207e12c3d9a1cd9bec03e63c3bfb831d7887cb", "ENHANCED: Error message when using WASM await/2 in synchronous query.", 'SWI-Prolog/swipl-devel').
  323changelog_event(b_setval/2, modified, 80328, 1628067328, "d2861bea19066d03d0e0d0afe26bdda40228e7a0", "MODIFIED: b_setval/2: backtracking over creating a global variable deletes the variable. If the old behavior is desired one can use `nb_setval(Var, [])` before calling b_setval/2.", 'SWI-Prolog/swipl-devel').
  324changelog_event(bagof/3, fixed, 80304, 1594973957, "4ee28abda5e826a3d98791cd588d7ff7ac885e3a", "FIXED: Issue#637 (following Discourse message): functional notation expansion in ^-meta arguments (bagof/3, setof/3, etc.).", 'SWI-Prolog/swipl-devel').
  325changelog_event(base64_encoded/3, added, 90107, 1677084816, "6895ba9e3d6efc783280dba42c5393a178deb3a8", "ADDED: base64_encoded/3: added charset(openbsd), implementing the OpenBSD alphabet for base64 encoding", 'SWI-Prolog/swipl-devel').
  326changelog_event(base64_encoded/3, enhanced, 80514, 1657285912, "3f635304d9b62672bc4953a5644a5b5baf60f196", "ENHANCED: base64_encoded/3: added option encoding(Encoding) and bootstrap base64/2 and base64url/2 from this predicate.  base64url/2 now used UTF-8 encoding (MODIFIED).", 'SWI-Prolog/swipl-devel').
  327changelog_event(between/3, fixed, 90327, 1754059218, "311ea7a751b3f66473b7e33662384507ffa040e2", "FIXED: Thread monitor called between/3 using a float.", 'SWI-Prolog/packages-xpce').
  328changelog_event(blob_released/1, introduced, 100113, 1785073657, "a0e29da50d671a42d4252c06712801bd5fc947e1", "ADDED: blob_released/1 and a safe representation for released blobs", 'SWI-Prolog/swipl-devel').
  329changelog_event(blob_type_property/2, introduced, 100113, 1785354959, "18a5a54286220eaf49d9d7a2ed18a3766d1592db", "ADDED: blob_type_property/2 and set_blob_type/2", 'SWI-Prolog/swipl-devel').
  330changelog_event(body_term_calls/2, introduced, 80314, 1606377685, "46965e1542f91e3c0f245f5174ae0d960550f961", "ADDED: body_term_calls/2 to library(prolog_code).", 'SWI-Prolog/swipl-devel').
  331changelog_event(bounded_number/3, introduced, 80125, 1583498142, "6a8f0226096b43cd96315aa6b94727628b0048d3", "ADDED: bounded_number/3", 'SWI-Prolog/swipl-devel').
  332changelog_event(break/0, fixed, 80311, 1604249994, "002a38c52b621aa4fcd374f1813fa131df955536", "FIXED: Save/restore tabling status over break/0.", 'SWI-Prolog/swipl-devel').
  333changelog_event(break_hook/6, modified, 80512, 1652629212, "5d335612c24a9ca7c54566f97a62cbd613297db3", "MODIFIED: Extend prolog:break_hook/6 to prolog:break_hook/7 ...", 'SWI-Prolog/swipl-devel').
  334changelog_event(breakpoint_condition/4, fixed, 80512, 1652900428, "27babf2925e99347469e6ff8ad17cdf777fb7790", "FIXED: correct arity of dynamic declaration for breakpoint_condition/4", 'SWI-Prolog/swipl-devel').
  335changelog_event(breakpoint_property/2, fixed, 80512, 1652542527, "d606f3b6f27c84aa4a0c1628116b48d1873b837a", "FIXED: breakpoint_property/2: fixed `character_range` property", 'SWI-Prolog/swipl-devel').
  336changelog_event(call/1, enhanced, 80111, 1563968015, "84ecb2cd0991129423df901bddbdb04a2348075a", "ENHANCED: Avoid call/1 for calling cleanup handler of call_cleanup/2 and friends.", 'SWI-Prolog/swipl-devel').
  337changelog_event(call/1, fixed, 90305, 1714314791, "3c583362cb9c7605de358f433b9f6b680777f1e3", "FIXED: call/1 (I_USERVALL0) GC issue", 'SWI-Prolog/swipl-devel').
  338changelog_event(call/1, modified, 100108, 1778569842, "0ddcde8b5e0a591cf3a9103c5ca6984aff60415e", "MODIFIED: Code walker not to track below call/1.", 'SWI-Prolog/swipl-devel').
  339changelog_event(call_cleanup/2, enhanced, 90107, 1676390586, "132868f936097e70927b13171b63b3050e211923", "ENHANCED: Simplified implementation for the cleanup family, call_cleanup/2, setup_call_cleanup/3.", 'SWI-Prolog/swipl-devel').
  340changelog_event(call_cleanup/2, fixed, 90310, 1723896356, "0af4712993fb0e5de280fbe23e08198f9140ea71", "FIXED: possibly early GC of arguments for call_cleanup/2", 'SWI-Prolog/swipl-devel').
  341changelog_event(call_cleanup/3, modified, 90107, 1676387782, "3910553ceeb9a0fd0a1a923da2c24808b70f0b96", "MODIFIED: Moved already deprecated call_cleanup/3 from the core to library(backcomp).", 'SWI-Prolog/swipl-devel').
  342changelog_event(call_continuation/1, fixed, 80314, 1605631711, "cca23badcbfb2dad7089696348aae56e50b84a3c", "FIXED: Issue#706: call_continuation/1: environment clause reference cannot be from the blob in the continuation as this may be reclaimed in AGC. May cause a crash while getting a backtrace from restarted continuation. GC also uses the clause info, so this can probably crash as well. Reported by David Tonhofer.", 'SWI-Prolog/swipl-devel').
  343changelog_event(call_delays/2, added, 80501, 1633935197, "b891957e5b627a808d96e45963da3a921fd69faf", "ADDED: sandbox: call_delays/2 as safe meta predicate", 'SWI-Prolog/swipl-devel').
  344changelog_event(call_delays/2, fixed, 80108, 1560586697, "98f46ff7d7df710dc3a712c9e12f6cb736a71ced", "FIXED: call_delays/2.", 'SWI-Prolog/swipl-devel').
  345changelog_event(call_delays/2, introduced, 80106, 1557916740, "c09af31ef1b99b2075830520f77be3884f33017b", "ADDED: Integrate WFS with the toplevel.", 'SWI-Prolog/swipl-devel').
  346changelog_event(call_in_thread/2, enhanced, 90307, 1716813348, "eb1616833c0d273b5b5bf884ab11a669ab7ef4b6", "ENHANCED: call_in_thread/2 error handling.", 'SWI-Prolog/swipl-devel').
  347changelog_event(call_in_thread/2, introduced, 80121, 1578320243, "fe7c28b169be70d56b6cad80c7228f050cf8231f", "ADDED: library(thread): call_in_thread/2 to run a goal synchronously in another thread, allowing to obtain information from a thread.", 'SWI-Prolog/swipl-devel').
  348changelog_event(call_in_thread/3, introduced, 90333, 1761218057, "ef757e72008aea9285cf094b8c5b9f78d9073a6b", "ADDED: call_in_thread/3.  Extends call_in_thread/2 with options.", 'SWI-Prolog/swipl-devel').
  349changelog_event(call_residual_program/2, introduced, 80106, 1557916740, "c09af31ef1b99b2075830520f77be3884f33017b", "ADDED: Integrate WFS with the toplevel.", 'SWI-Prolog/swipl-devel').
  350changelog_event(call_residue_vars/2, fixed, 80506, 1642872304, "31fab8498493892b61ad4a2d0d3761958967ae02", "FIXED: call_residue_vars/2: if GC performs early reset on an attvar it is incorrectly considered residual.", 'SWI-Prolog/swipl-devel').
  351changelog_event(call_residue_vars/2, fixed, 80508, 1646665920, "fe28bd9a504b390cf92b59b9c842693833cf6466", "FIXED: call_residue_vars/2: possible spurious reported variables because the trail entry was removed but the variable was not reclaimed due to a frozen stack.", 'SWI-Prolog/swipl-devel').
  352changelog_event(call_setup_catcher_cleanup/4, fixed, 80102, 1551535296, "3375369f303b9d26668b7a77a06a9f6d48283a1b", "FIXED: Tabling to use call_setup_catcher_cleanup/4 rather than catch/3 to cleanup tables after an exception. Provides marginally better performance, makes cleanup work with abort and preserve SWIs notion of uncaught exceptions, improving debugging.", 'SWI-Prolog/swipl-devel').
  353changelog_event(call_time/2, fixed, 90107, 1677172327, "fcef8c3fec47dcbe3d7ae800ebda6f191364f01b", "FIXED: error propagation of call_time/2 and updated docs.", 'SWI-Prolog/swipl-devel').
  354changelog_event(call_time/2, introduced, 80310, 1602517551, "2546bb44ed2e127e2984377ac458d6c6bcf4791e", "ADDED: call_time/2 and call_time/3 to get timing info in a Prolog term.", 'SWI-Prolog/swipl-devel').
  355changelog_event(call_time/3, introduced, 80310, 1602517551, "2546bb44ed2e127e2984377ac458d6c6bcf4791e", "ADDED: call_time/2 and call_time/3 to get timing info in a Prolog term.", 'SWI-Prolog/swipl-devel').
  356changelog_event(call_time/3, modified, 90107, 1677171751, "4a2ca23d738a691d61ad5eaf1266bc83f8975bc5", "MODIFIED: call_time/3 to not rethrow the exception but return it in the status reification as throw(Error).", 'SWI-Prolog/swipl-devel').
  357changelog_event(call_with_depth_limit/3, fixed, 80316, 1608730654, "178bf0ce0c735c2afef6b840601da9473afaf744", "FIXED: Issue#751: call_with_depth_limit/3 with limit -1.  David Tonhofer. This patch also cleans up mixed types for handling the limit and possible limit overflows.", 'SWI-Prolog/swipl-devel').
  358changelog_event(call_with_inference_limit/2, enhanced, 100110, 1782377589, "61f113e6cdee9a224cc443b261ec294a8de2a8ad", "ENHANCED: call_with_inference_limit/2: avoid pushing a bignum for \"no limit\"", 'SWI-Prolog/swipl-devel').
  359changelog_event(call_with_inference_limit/3, fixed, 80311, 1604350584, "10b3738efcd88b76e5c23598b26d9e5102fc2f37", "FIXED: Issue#702: call_with_inference_limit/3 determinism when the inference limit is exceeded.  David Tonhofer.", 'SWI-Prolog/swipl-devel').
  360changelog_event(call_with_time_limit/2, enhanced, 80113, 1567167467, "f96ec52f89ff89406d54ac6683ad72aa5f3cce7d", "ENHANCED: Allow waiting for a table from another thread to be aborted by a thread signal (including call_with_time_limit/2).", 'SWI-Prolog/swipl-devel').
  361changelog_event(call_with_time_limit/2, fixed, 90104, 1674162591, "0b798ff953330c8da0eb09d72f63279dff153bc4", "FIXED: Allow signal handling and e.g. call_with_time_limit/2 on raw terminal input.", 'SWI-Prolog/swipl-devel').
  362changelog_event(call_with_time_limit/3, introduced, 90105, 1675243236, "5ef5519ea11af2a1879e769ab9712fd85823d554", "ADDED: call_with_time_limit/3, providing a context with the exception.", 'SWI-Prolog/packages-clib').
  363changelog_event(catch/3, added, 90313, 1728144383, "f5c94bbcd5d5e393d97cbb77db4f1789155670f5", "ADDED: catch/3: support constraints on the `Ball`.", 'SWI-Prolog/swipl-devel').
  364changelog_event(catch/3, fixed, 90110, 1684143037, "2dbfe5e86a19404f575ac8fbfc901d977b5c0be0", "FIXED: catch/3 debugger interaction.", 'SWI-Prolog/swipl-devel').
  365changelog_event(catch/3, fixed, 90313, 1728055126, "03619a385370023347a86f01deb363bba7b47969", "FIXED: Partial unification while searching for a matching catch/3.", 'SWI-Prolog/swipl-devel').
  366changelog_event(catch/4, introduced, 90316, 1732709837, "c1379fae3163d66bdc6f5d78c152742bea90a01b", "ADDED: library(exceptions)", 'SWI-Prolog/swipl-devel').
  367changelog_event(catch_with_backtrace/3, modified, 80117, 1574866139, "c1a05fdc7854b235374c18d677802d0868516c1c", "MODIFIED: catch_with_backtrace/3 now captures the backtrace without direct references to clauses such that the backtrace can be printed reliably in a different context.", 'SWI-Prolog/swipl-devel').
  368changelog_event(ceil/1, fixed, 80123, 1582394817, "c1b972a9b38151f2a36abe6b9d436e07d7b1bd4e", "FIXED: round/1, ceil/1, floor/1, truncate/1 functions on special floats. Some of these could crash (SIGFPE).", 'SWI-Prolog/swipl-devel').
  369changelog_event(certificate_field/2, modified, 80118, 1575301183, "57bc92fdaee6e377a46d19bb31b3854bf95df342", "MODIFIED: SSL certificates are no longer represented as Prolog terms but as _blobs_ a predicate certificate_field/2 to query fields of the certificate. Any old code which obtains fields from the certificate using memberchk/2 should be modified to use certificate_field/2 instead.", 'SWI-Prolog/packages-ssl').
  370changelog_event(char_type/2, added, 80514, 1655971005, "b0ec7b9c992773990c59461860f88796a2bff55c", "ADDED: char_type/2 type `decimal`.", 'SWI-Prolog/swipl-devel').
  371changelog_event(char_type/2, added, 100108, 1778685239, "804796daa9590adab972eb2e3c0f2d87772a2425", "ADDED: code_type/2 and char_type/2 property pattern_syntax", 'SWI-Prolog/swipl-devel').
  372changelog_event(char_type/2, enhanced, 100108, 1778525108, "09e151cd9b2df039e48e6b86e1ce2ccf80b0949c", "ENHANCED: char_type/2 and code_type/2 accept prolog_solo", 'SWI-Prolog/swipl-devel').
  373changelog_event(check/0, added, 90115, 1693988630, "80b588e64dfb1aaea821c462f3e2e42fb38f727d", "ADDED: check/0: run check_predicate_options/0.", 'SWI-Prolog/swipl-devel').
  374changelog_event(check/0, added, 90319, 1736844863, "580ad95ddfe3dda52ff192a0c7bce28c95ec6812", "ADDED: check/0: print dummy mode declarations.", 'SWI-Prolog/swipl-devel').
  375changelog_event(check/0, enhanced, 80504, 1639480606, "8e8d5709bd499e7d04d72d8b932d6fee40ea7a65", "ENHANCED: Avoid check/0 to report autoload/2 to be redefined.", 'SWI-Prolog/packages-xpce').
  376changelog_event(check/0, fixed, 80125, 1584695083, "f85102d2e951e00dff884c236df60ea6d309dcfa", "FIXED: check/0: incorrect redefined messages for '$exported_op'/3 and '$autoload'/3. Paulo Moura.", 'SWI-Prolog/swipl-devel').
  377changelog_event(check/0, fixed, 90113, 1691059622, "70b70a968b93bde9261e6280127aba16ceadf50e", "FIXED: Pass check/0 dependency check if tty_size/2 is not defined.", 'SWI-Prolog/swipl-devel').
  378changelog_event(check_config_files/0, fixed, 80116, 1570609424, "6718ecfeba1f0ea793e18876b326300313efb6ac", "FIXED: check_config_files/0: old location of packs is ~/lib/swipl/pack. Paulo Moura.", 'SWI-Prolog/swipl-devel').
  379changelog_event(check_installation/0, added, 80127, 1585157154, "7ed5968f50b68edf6d168e1852e04ae864d52409", "ADDED: check_installation/0: check for tcmalloc.", 'SWI-Prolog/swipl-devel').
  380changelog_event(check_installation/0, added, 80519, 1665667457, "87d639927edac3961a83034639aa422dbb590cda", "ADDED: Extend check_installation/0 with sweep.", 'SWI-Prolog/swipl-devel').
  381changelog_event(check_installation/0, added, 90121, 1702289857, "8527d6ccc89b446c14319959a9b25ad30bcac46c", "ADDED: check_installation/0 to verify there are no ambiguities in the autoload index.", 'SWI-Prolog/swipl-devel').
  382changelog_event(check_installation/0, added, 100103, 1770216035, "ff35852e3a0f03403469f274f3830868f564cf7a", "ADDED: check_installation/0: report OpenSSL version", 'SWI-Prolog/swipl-devel').
  383changelog_event(check_installation/0, enhanced, 90302, 1709022697, "8646e23183c77969bcebd55c37b17f489d8b07e8", "ENHANCED: #1237 check_installation/0: hide details.", 'SWI-Prolog/swipl-devel').
  384changelog_event(check_installation/0, fixed, 90115, 1692112809, "485cec89ae5f6dc9e79a1290ff56d64ee1d4179f", "FIXED: Typo in check_installation/0 (syntax error)", 'SWI-Prolog/swipl-devel').
  385changelog_event(check_installation/0, fixed, 100102, 1768836921, "4c3f1dc522f0c6fa41a089aa1d374cecdb42811d", "FIXED: #1436 check_installation/0: check editline, also on Windows.", 'SWI-Prolog/swipl-devel').
  386changelog_event(check_predicate_options/0, fixed, 90115, 1693987777, "fb7f8600d678af6e6996fdd73094c8b700a847b0", "FIXED: check_predicate_options/0: avoid several false warnings.", 'SWI-Prolog/swipl-devel').
  387changelog_event(check_raw_option_access/0, introduced, 100112, 1784138014, "e10edbff117aa764d0abad6994ff39bead45db0d", "ADDED: predicate_options drift check and order-sensitive-access linter", 'SWI-Prolog/swipl-devel').
  388changelog_event(check_raw_option_access/1, introduced, 100112, 1784138014, "e10edbff117aa764d0abad6994ff39bead45db0d", "ADDED: predicate_options drift check and order-sensitive-access linter", 'SWI-Prolog/swipl-devel').
  389changelog_event(clause/2, fixed, 80320, 1613571007, "df7f72d160d5324f5c209e84921e80799d8d5d42", "FIXED: Issue#785: Crash when creating too many \"predicate references\" as created by e.g. clause/2 and retract/1.", 'SWI-Prolog/swipl-devel').
  390changelog_event(clause/2, fixed, 80322, 1617616156, "31d311df8d7d81a7843b066a901eb0dd92543dfc", "FIXED: Decompilation (clause/2 and friends) for unifications moved into the head had several bugs, mainly related to optimized-away H_VOID before I_ENTER and friends.  Reported by Edison Mera.", 'SWI-Prolog/swipl-devel').
  391changelog_event(clause/2, fixed, 80329, 1630490620, "0644ffb47bd46578f31fdad7877d56ff495286d8", "FIXED: clause/2 for unification that was migrated to the head and used nested in a term used as argument to some body call (using B_ARGVAR instead of B_VAR).", 'SWI-Prolog/swipl-devel').
  392changelog_event(clause/2, fixed, 80329, 1630504327, "5d5962ffcbe5ff790b1298313c513039360fc635", "FIXED: clause/2 (and related predicates) on clauses where unifications are moved into the head failed in a saved state.", 'SWI-Prolog/swipl-devel').
  393changelog_event(clause/2, fixed, 80400, 1630677352, "fb96dc77bbd86df31ed7bd2282dd5b20f341f534", "FIXED: clause/2 (decompiler for moved unification instructions against the head.", 'SWI-Prolog/swipl-devel').
  394changelog_event(clause/2, fixed, 80400, 1630910366, "a9ead09d05fce1dffd125e1512e91cf96b091bd1", "FIXED: clause/2 moved unification for `s(X) :- X = f(Y), p(Y).`  Bug introduced in fb96dc77bbd86df31ed7bd2282dd5b20f341f534.", 'SWI-Prolog/swipl-devel').
  395changelog_event(clause/2, fixed, 90001, 1669645512, "1f9319a249106605abe8bfdcd187ff4e3b2325ef", "FIXED: clause/2: possible error handling H_LIST_FF if there is a GC between handling the head and tail.", 'SWI-Prolog/swipl-devel').
  396changelog_event(clause/2, fixed, 90003, 1670790722, "e0d2b426d3af20c058646dfed6003b2ba2bbc539", "FIXED: clause/2,3: possible GC crash when dealing with _moved unification_.", 'SWI-Prolog/swipl-devel').
  397changelog_event(clause/2, fixed, 90119, 1699908514, "144b498d72df3fa5d4eb2b6e091f125d1c2299d5", "FIXED: clause/2: moved unifications", 'SWI-Prolog/swipl-devel').
  398changelog_event(clause_info/2, fixed, 80105, 1553934715, "b1fc234e35defbffc03c9869031cf7e56e2b61ca", "FIXED: clause_info/2: possible too native unification can lead to incorrect results.  Alan Baljeu.", 'SWI-Prolog/swipl-devel').
  399changelog_event(clause_info/4, enhanced, 80505, 1641657468, "7937a1265742c390d83f313f6ff7f3fb885426a5", "ENHANCED: Issue#24: clause_info/4: reject if term layout returned by expand_term/4 is bogus.  This forces the guitracer to revert to decompiling.", 'SWI-Prolog/swipl-devel').
  400changelog_event(clause_info/4, fixed, 90119, 1700041386, "18c32b14fa31322a885b4b71f5b8d551e4ea0615", "FIXED: clause_info/4: perform full body matching.", 'SWI-Prolog/swipl-devel').
  401changelog_event(clause_info/5, fixed, 80120, 1577985066, "d65c713cb2507a62b64d860a30246e05279bc522", "FIXED: clause_info/5: avoid false binding if the arguments of =/2 are reversed.", 'SWI-Prolog/swipl-devel').
  402changelog_event(clause_info/5, fixed, 80120, 1578045623, "eb9bb5bbc500383bbf801e670220fb4823380e99", "FIXED: clause_info/5 for `x==X`.", 'SWI-Prolog/swipl-devel').
  403changelog_event(clause_info/5, fixed, 80321, 1616073741, "a273cb49fafd37df02494fe1fac34eed150a07e3", "FIXED: clause_info/5 to avoid creating a cyclic term. due to wrongly recognised X -> call(X) translation.", 'SWI-Prolog/swipl-devel').
  404changelog_event(clause_info/5, fixed, 90119, 1699910604, "716dbffa69678ee849ea46d306edc6dbcab7a13e", "FIXED: clause_info/5 for unification moved into the head", 'SWI-Prolog/swipl-devel').
  405changelog_event(cli_debug_opt_help/2, introduced, 90109, 1682513323, "1f19dea0ca08d668763fd034eda84faf6f293303", "ADDED: library(main) cli flag processing for debugging.", 'SWI-Prolog/swipl-devel').
  406changelog_event(cli_debug_opt_meta/2, introduced, 90109, 1682513323, "1f19dea0ca08d668763fd034eda84faf6f293303", "ADDED: library(main) cli flag processing for debugging.", 'SWI-Prolog/swipl-devel').
  407changelog_event(cli_debug_opt_type/3, introduced, 90109, 1682513323, "1f19dea0ca08d668763fd034eda84faf6f293303", "ADDED: library(main) cli flag processing for debugging.", 'SWI-Prolog/swipl-devel').
  408changelog_event(cli_enable_development_system/0, enhanced, 80327, 1626080924, "07a9d8bf9799d97250ac70679c9f14436c210331", "ENHANCED: cli_enable_development_system/0: avoid loading xpce when creating a state.", 'SWI-Prolog/swipl-devel').
  409changelog_event(cli_enable_development_system/0, introduced, 80327, 1624974877, "e44e8ca288565e14f298c9ab3b726f8d9e2712bc", "ADDED: `library(main)`: cli_parse_debug_options/2 and cli_enable_development_system/0.", 'SWI-Prolog/swipl-devel').
  410changelog_event(cli_parse_debug_options/2, introduced, 80327, 1624974877, "e44e8ca288565e14f298c9ab3b726f8d9e2712bc", "ADDED: `library(main)`: cli_parse_debug_options/2 and cli_enable_development_system/0.", 'SWI-Prolog/swipl-devel').
  411changelog_event(cls/0, introduced, 100113, 1785765400, "e04fe34d6edbe4fd632a710ac79c39bc2b4bcefb", "ADDED: cls/0: CLear Screen.", 'SWI-Prolog/swipl-devel').
  412changelog_event(clumped/2, introduced, 80317, 1609239199, "1a3cf24e8b09ccf750f4a84efc828037e3baa498", "ADDED: clumped/2 to library(lists).", 'SWI-Prolog/swipl-devel').
  413changelog_event(cmpr/2, added, 90105, 1675152912, "ea1419a90114056eed613dac3ed76554f778a5bb", "ADDED: functions cmpr/2, minr/2 and maxr/2 that compare mixed float/rationals exact (i.e., after converting the float to rational).  The min/max versions propagate the rational in case of a tie and propagate numbers rather than NaN.", 'SWI-Prolog/swipl-devel').
  414changelog_event(cmpr/2, modified, 90105, 1675152912, "8b9279192ae95eedf4e0ec16b5f565ebf1850851", "MODIFIED: standard order of terms to use cmpr/2 for comparison, comparing mixed float/rational exact (i.e., as rationals).", 'SWI-Prolog/swipl-devel').
  415changelog_event(code_type/2, added, 80324, 1620139136, "c2a2b7f2f91c6f543cf61c5093044f731268e1f8", "ADDED: code_type/2: category `print`", 'SWI-Prolog/swipl-devel').
  416changelog_event(code_type/2, added, 100106, 1776773725, "7da8ab625453459866347031c52b973aa54ccade", "ADDED: code_type/2: code_type(Code, width(W))", 'SWI-Prolog/swipl-devel').
  417changelog_event(code_type/2, added, 100108, 1778685239, "804796daa9590adab972eb2e3c0f2d87772a2425", "ADDED: code_type/2 and char_type/2 property pattern_syntax", 'SWI-Prolog/swipl-devel').
  418changelog_event(code_type/2, enhanced, 100107, 1778161077, "58ad719864dd738e61dc6c82cdbfee92085ff1ab", "ENHANCED: extend code_type/2 paren(Close) and add a matching quote(Close)", 'SWI-Prolog/swipl-devel').
  419changelog_event(code_type/2, enhanced, 100107, 1778231763, "0652c61d3a4ed479cae2444726842d4a2907e153", "ENHANCED: code_type/2 prolog_layout + prolog_end_of_line; rebind end_of_line", 'SWI-Prolog/swipl-devel').
  420changelog_event(code_type/2, enhanced, 100108, 1778525108, "09e151cd9b2df039e48e6b86e1ce2ccf80b0949c", "ENHANCED: char_type/2 and code_type/2 accept prolog_solo", 'SWI-Prolog/swipl-devel').
  421changelog_event(code_type/2, fixed, 100107, 1777534163, "4a47ebbf612556c57ef39fa434b059db14af5c56", "FIXED: code_type/2: report `csymf` twice.", 'SWI-Prolog/swipl-devel').
  422changelog_event(colourise_db/3, enhanced, 80517, 1662820566, "ff1b2462b9d4b85a546ca98a350b027f4e17f3d8", "ENHANCED: prolog_colour:colourise_db/3: process asserted bodies", 'SWI-Prolog/swipl-devel').
  423changelog_event(comma_list/2, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
  424changelog_event(compare/3, fixed, 100108, 1778683150, "078561c075a8f572e7cf53f00676f71d65d5a9fa", "FIXED: compare/3 on wide atoms must order by code point, not code unit", 'SWI-Prolog/swipl-devel').
  425changelog_event(compile_predicates/1, fixed, 80306, 1596784427, "73598c49d7a394a8e787dbb33c2ad59887b5ca71", "FIXED: compile_predicates/1: wrong handling of module qualification causes `compile_predicates(Module:List)` to fail.", 'SWI-Prolog/swipl-devel').
  426changelog_event(complete_input/4, added, 100105, 1772622325, "91bbb735bd936a897401af97cba41ca40686ab3e", "ADDED: prolog:complete_input/4: enhanced CLI TAB completion", 'SWI-Prolog/swipl-devel').
  427changelog_event(compound_name_arity/3, fixed, 90322, 1743586955, "aedbe7018304a4cf1b473891f18ab88bd0cfd523", "FIXED: term//1: possible exception on compound_name_arity/3.", 'SWI-Prolog/packages-http').
  428changelog_event(concurrent_and/2, enhanced, 80304, 1593936813, "11340a4b62f590fe6d09fe87cb9dcdc4b19aafe5", "ENHANCED: concurrent_and/2,3: limit size of answer queue.  Jan Burse.", 'SWI-Prolog/swipl-devel').
  429changelog_event(concurrent_and/2, introduced, 80303, 1593687178, "2d55a31b8faaf8e8c37783f48801a414ed69e5a4", "ADDED: concurrent_and/2,3 based on Jan Burse's balance/1.", 'SWI-Prolog/swipl-devel').
  430changelog_event(concurrent_and/3, introduced, 80303, 1593687178, "2d55a31b8faaf8e8c37783f48801a414ed69e5a4", "ADDED: concurrent_and/2,3 based on Jan Burse's balance/1.", 'SWI-Prolog/swipl-devel').
  431changelog_event(concurrent_forall/2, introduced, 80303, 1593368116, "f372b514b117893c521a092a9b202d9d67d00f44", "ADDED: concurrent_forall/2,3: as forall, running tests in parallel.", 'SWI-Prolog/swipl-devel').
  432changelog_event(concurrent_forall/3, introduced, 80303, 1593368116, "f372b514b117893c521a092a9b202d9d67d00f44", "ADDED: concurrent_forall/2,3: as forall, running tests in parallel.", 'SWI-Prolog/swipl-devel').
  433changelog_event(confirm_open_frames/1, introduced, 90327, 1753951372, "7428d4859a45482eea977e4103152e13a71ecb1d", "ADDED: library(pce_openframes)", 'SWI-Prolog/packages-xpce').
  434changelog_event(connect_ugraph/3, introduced, 80122, 1581681146, "fd7b43643394582606d5a34d273d693c418480c6", "ADDED: connect_ugraph/3.  Also added docs or complement/2 and reachable/3.", 'SWI-Prolog/swipl-devel').
  435changelog_event(consult/1, fixed, 80324, 1620374003, "8b599bd0cb690cbbe5a283d8be8c403c7a859d09", "FIXED: Issue#110: Nested consult/1 on already loaded files (reconsult) did not do generation management correctly.", 'SWI-Prolog/swipl-devel').
  436changelog_event(copy_stream_data/2, fixed, 80306, 1596632345, "6199b71aa59345b6118a1bac613d96f02f3a4719", "FIXED: copy_stream_data/2: ensure exceptions are passed.", 'SWI-Prolog/swipl-devel').
  437changelog_event(copy_term/2, fixed, 80132, 1589272912, "c3b258d7b57743257caa6d3cdcf6e2d2ddb46df0", "FIXED: Atom garbage collection marking issue using copy_term/2 and friends together with stack freezing.  This notably happens with nb_setarg/3 and exception handling.  Diagnosed and fixed by Keri Harris.", 'SWI-Prolog/swipl-devel').
  438changelog_event(copy_term/2, fixed, 90304, 1712315541, "6862cd604ae963d4aa9133e107688692c3d61bef", "FIXED: Type handling in copy_term/2 and friends.", 'SWI-Prolog/swipl-devel').
  439changelog_event(copy_term/3, enhanced, 80303, 1593333926, "aa0ada3430843e98ec51f84101fa868e77e73c0c", "ENHANCED: copy_term/3 to sort the attvars prior to generating the goals.  This produces constraints at the toplevel in more predictable order.  Rick Workman.", 'SWI-Prolog/swipl-devel').
  440changelog_event(copy_term/4, fixed, 80506, 1642156742, "fb371451403ed1deacdb6af9ad881319dd576000", "FIXED: Possible crash in copy_term/4 and copy_term_nat/4.", 'SWI-Prolog/swipl-devel').
  441changelog_event(copy_term/4, fixed, 80510, 1648538794, "ed2e6edb91d68bd915fb607ce0a69a9c93360043", "FIXED: copy_term/4 to handle cyclic terms for the first argument.  Also proper recovery in case of a memory overflow.", 'SWI-Prolog/swipl-devel').
  442changelog_event(copy_term/4, introduced, 80505, 1641383526, "b4bfdc2e07b2638ded67421d354db6cd574a42e4", "ADDED: copy_term/4 and copy_term_nat/4.  These predicates provide a partial renaming of variables and is used in s(CASP).  This patch also improves out-of-memory handling and adds a test suit for copy_term.", 'SWI-Prolog/swipl-devel').
  443changelog_event(copy_term_nat/4, fixed, 80506, 1642156742, "fb371451403ed1deacdb6af9ad881319dd576000", "FIXED: Possible crash in copy_term/4 and copy_term_nat/4.", 'SWI-Prolog/swipl-devel').
  444changelog_event(copy_term_nat/4, introduced, 80505, 1641383526, "b4bfdc2e07b2638ded67421d354db6cd574a42e4", "ADDED: copy_term/4 and copy_term_nat/4.  These predicates provide a partial renaming of variables and is used in s(CASP).  This patch also improves out-of-memory handling and adds a test suit for copy_term.", 'SWI-Prolog/swipl-devel').
  445changelog_event(cov_load_data/2, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
  446changelog_event(cov_property/1, introduced, 90122, 1705579507, "69481a14a9446491b934758fd6dc34888c0e788b", "ADDED: cov_property/1", 'SWI-Prolog/swipl-devel').
  447changelog_event(cov_reset/0, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
  448changelog_event(cov_save_data/1, added, 90122, 1705410479, "902e0d546c74c66de56f3ed6b91bc05c1c5e660b", "ADDED: cov_save_data/1.", 'SWI-Prolog/packages-plunit').
  449changelog_event(cov_save_data/2, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
  450changelog_event(coverage/1, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
  451changelog_event(coverage/2, enhanced, 90303, 1709386271, "1d7d09f43104c0fd6541ebb84f685d0f9e45ef2d", "ENHANCED: coverage/2: analyze and annotate included files.", 'SWI-Prolog/swipl-devel').
  452changelog_event(coverage/2, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
  453changelog_event(create_prolog_flag/3, added, 90119, 1700144044, "b6006c0eb46818130c7e82f17aac2447c53afaad", "ADDED: create_prolog_flag/3: `type(oneof(ListOfAtoms))`", 'SWI-Prolog/swipl-devel').
  454changelog_event(create_prolog_flag/3, fixed, 90122, 1705146285, "6ff1be41fc5bf76b4a38fe599d70d19d12585a44", "FIXED: #1220 create_prolog_flag/3 using `type(term), keep(true)`", 'SWI-Prolog/swipl-devel').
  455changelog_event(crypt/2, fixed, 90332, 1760099313, "6d864fb5625ec3afd5ef88ac634e805e49c77161", "FIXED: crypt/2 on Windows using bsd-crypt.c: possible memory corruption.", 'SWI-Prolog/packages-clib').
  456changelog_event(crypto_data_hash/3, fixed, 90302, 1708504608, "367724af5bd3c9a5aa2f2a0e21064850688694a3", "FIXED: #170 crypto_data_hash/3: allow hmac key to contain 0-bytes.", 'SWI-Prolog/packages-ssl').
  457changelog_event(crypto_password_hash/2, added, 90107, 1677085802, "816fa445fc0a9cc13450a3909178604e79befe8b", "ADDED: crypto_password_hash/2,3 option algorithm(bcrypt)", 'SWI-Prolog/packages-ssl').
  458changelog_event(crypto_password_hash/2, fixed, 90001, 1669741968, "80e4458ca10578c8c3837e71765713cf6ce1260f", "FIXED: crypto_password_hash/2,3 assumed byte encoding for base64_encoded/3 while the default changed to UTF-8.  Added test.", 'SWI-Prolog/packages-ssl').
  459changelog_event(current_chr_constraint/1, fixed, 90121, 1701767375, "cb3998913de6606e9cbab56ec9b5ea84ca899b0c", "FIXED: Exported current_chr_constraint/1 from library(chr).", 'SWI-Prolog/packages-chr').
  460changelog_event(current_foreign_library/2, fixed, 80104, 1553422213, "e577784aa3c667254da671f2c0262360d867ba1f", "FIXED: Make loaded C++ foreign libraries visible through current_foreign_library/2. Arthur Wang.", 'SWI-Prolog/swipl-devel').
  461changelog_event(current_input/1, modified, 100109, 1781452723, "3a21dce70d7a5f3e8da645dae7b29091ec604e62", "MODIFIED: current_input/1 and current_output/1 diagnostics", 'SWI-Prolog/swipl-devel').
  462changelog_event(current_output/1, modified, 100109, 1781452723, "3a21dce70d7a5f3e8da645dae7b29091ec604e62", "MODIFIED: current_input/1 and current_output/1 diagnostics", 'SWI-Prolog/swipl-devel').
  463changelog_event(current_predicate/1, fixed, 80302, 1592299179, "ede495c356648685cb1aa72934b1670dac0fd9eb", "FIXED: Make module enumeration safe for temporary modules.  This affects notably current_predicate/1 in SWISH.  current_predicate/1 using an unbound module now skips enumeration of temporary modules.", 'SWI-Prolog/swipl-devel').
  464changelog_event(current_predicate/1, fixed, 80509, 1647957174, "11edb195c05ea347cb95364547cb43d9a7d7f73f", "FIXED: current_predicate/1 bug in updating module reference count that may cause temporary modules not to be destroyed.  Notably affects SWISH.", 'SWI-Prolog/swipl-devel').
  465changelog_event(current_predicate_wrapper/4, introduced, 80107, 1558336133, "826ec2ca9be06770593224642c268c05201dd626", "ADDED: library(prolog_wrap), providing wrap_predicate/4 and some friends to manage dynamically wrapping and unwrapping Prolog predicates using an arbitrary body term. With input from Paulo Moura, Eric Toucher and Peter Ludemann on the forum.", 'SWI-Prolog/swipl-devel').
  466changelog_event(current_table/2, fixed, 80129, 1586967810, "2995a405d20092c3d6af454a319e83f235c88983", "FIXED: current_table/2 to consider emptied shared tables as non-existent.  Jacco van Ossenbruggen.", 'SWI-Prolog/swipl-devel').
  467changelog_event(current_table/2, fixed, 80316, 1608720223, "693dbb8e741120dbe48b3a726110b0656d84eb8d", "FIXED: Make current_table/2 work for answer subsumption.", 'SWI-Prolog/swipl-devel').
  468changelog_event(current_table/2, fixed, 80318, 1610396852, "be97491bd7a972f3091c112129173b43ba38f9ac", "FIXED: current_table/2 for shared tables.", 'SWI-Prolog/swipl-devel').
  469changelog_event(current_temporary_module/1, introduced, 80329, 1629804261, "57a7c8c45cb525f89b0fb254089f9b2192ce6eee", "ADDED: current_temporary_module/1 to library(modules).", 'SWI-Prolog/swipl-devel').
  470changelog_event(current_test/5, introduced, 80304, 1594803958, "5223e96864ab70c5defeb3634d1642f0b4479a10", "ADDED: current_test/5 to reason about known tests.", 'SWI-Prolog/packages-plunit').
  471changelog_event(current_test_unit/2, introduced, 90003, 1670426995, "69fd81f22ac93fc9c723a935f4649bc096ce4105", "ADDED: current_test_unit/2 to enumerate the available unit tests.", 'SWI-Prolog/packages-plunit').
  472changelog_event(current_transaction/1, introduced, 80304, 1594109908, "5716ac348efe7bf368d499e6dd1de3d6b8d02a82", "ADDED: current_transaction/1 to test whether a goal is running inside a transaction.", 'SWI-Prolog/swipl-devel').
  473changelog_event(curve25519_generator/1, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  474changelog_event(curve25519_scalar_mult/3, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  475changelog_event(date_time_stamp/2, added, 90313, 1727685274, "f0b87bf4d7a361772943de4a1405f0c67b3476ec", "ADDED: date_time_stamp/2: allow leaving components unbound from the right.", 'SWI-Prolog/swipl-devel').
  476changelog_event(date_time_stamp/2, fixed, 80329, 1628584067, "ee64e85fe2ba54d1dd64739bac8bf1ce290b0b40", "FIXED: date_time_stamp/2 was broken in timezone handling after e68098ba2b38d7d9597def1b4fc0a8cef1ed43cb.", 'SWI-Prolog/swipl-devel').
  477changelog_event(dcg_translate_rule/2, added, 80500, 1632899835, "a44539678ab9a15e1e040f3f88460ec6dc103371", "ADDED: dcg_translate_rule/2 is now declared safe for use in sandboxes.", 'SWI-Prolog/swipl-devel').
  478changelog_event(debug/3, enhanced, 80122, 1581671586, "9bbd9cc5757c2c60a509ca9b80d483d54a67d8e6", "ENHANCED: Trapping recursive autoloading, debug/3 and print_message/2.  Not really ideal yet, but at least a plain system error is avoided and some context is provided.", 'SWI-Prolog/swipl-devel').
  479changelog_event(debug/3, fixed, 80122, 1579975019, "7c49fa4c0976f78900eb5917cc3d233f4d4a36f3", "FIXED: Fixed format template in debug/3 message", 'SWI-Prolog/packages-paxos').
  480changelog_event(debug/3, fixed, 80122, 1579975112, "f5cee4a63d2a477b836d7658719c3791e46fd45a", "FIXED: Excess argument in debug/3 call.", 'SWI-Prolog/packages-http').
  481changelog_event(debug/3, fixed, 80511, 1650455637, "c1a700f43d885c136bde285427fc2d2bd111809a", "FIXED: Make source layout handling aware that debug/3 and assertion/1 may be removed by the optimizer.", 'SWI-Prolog/swipl-devel').
  482changelog_event(debug_reset_from_class/0, introduced, 100105, 1772966576, "1c25c65641b22f18933c8431c803006e803971af", "ADDED: Assign threads the notion of a _class_.", 'SWI-Prolog/swipl-devel').
  483changelog_event(debugging/0, added, 90103, 1673453215, "c03abd24f91363485d1a8eec5457ed7308dec0e6", "ADDED: debugging/0: allow extensions using `prolog_debug_tools:debugging_hook/0`", 'SWI-Prolog/swipl-devel').
  484changelog_event(debugging/0, fixed, 90320, 1737731103, "4e76cf1b438615434105ec93233d078075c6e72e", "FIXED: debugging/0 fails to report spy points.", 'SWI-Prolog/swipl-devel').
  485changelog_event(delays_residual_program/2, fixed, 80122, 1580138612, "c987fa915ed1c4e2a3d2eaef04bde5bd4a2c58cc", "FIXED: delays_residual_program/2 if conditions is not ground.", 'SWI-Prolog/swipl-devel').
  486changelog_event(delays_residual_program/2, introduced, 80106, 1557916740, "c09af31ef1b99b2075830520f77be3884f33017b", "ADDED: Integrate WFS with the toplevel.", 'SWI-Prolog/swipl-devel').
  487changelog_event(delete_file/1, modified, 80511, 1651593066, "cd28f88fd822df73a6ca5884289b627accbe75e9", "MODIFIED: delete_file/1 to delete a read-only file on Windows for compatibility with other platforms.", 'SWI-Prolog/swipl-devel').
  488changelog_event(delim/4, enhanced, 80107, 1558885448, "6bde2c0bb4f1aec2385d5899544e74b1c86c26f0", "ENHANCED: inline delim/4, improving tabling performance with about 20%.", 'SWI-Prolog/swipl-devel').
  489changelog_event(denominator/1, added, 80122, 1580486050, "5d3d8960f87f5a0450cc836f596e274a02c32716", "ADDED: ECLiPSe compatible functions numerator/1 and denominator/1.", 'SWI-Prolog/swipl-devel').
  490changelog_event(det/1, added, 80321, 1615902590, "41948bc75bcecb9a3604b81317dd26665585d2d2", "ADDED: det/1 declaration to declare a predicate deterministic and check this at runtime at the VM level.", 'SWI-Prolog/swipl-devel').
  491changelog_event(det/1, added, 80322, 1617359900, "085306149855e2e922369c44fdc517d1edde326f", "ADDED: IDE support for det/1: highlighting and checking that there are clauses.", 'SWI-Prolog/swipl-devel').
  492changelog_event(det/1, fixed, 80323, 1617794836, "8ea480ada4284d408debf7b249edd0a676acf14e", "FIXED: Save det/1 flag in saved states and Qlf files.", 'SWI-Prolog/swipl-devel').
  493changelog_event(det/1, fixed, 80324, 1619691553, "b4fcc4483d4457cfd142520206c02d211875556a", "FIXED: runtime change of det/1 property.   Peter Ludemann.", 'SWI-Prolog/swipl-devel').
  494changelog_event(det/1, fixed, 80501, 1634579654, "ed0be62ccdf690bcab832cee38e4c6ecac33b627", "FIXED: det/1: avoid false non-determinism claim if all relevant choicepoints are debug choicepoints.", 'SWI-Prolog/swipl-devel').
  495changelog_event(det/1, fixed, 80518, 1663688435, "35291c639852c096fd76e0c1a78bc3ea15b99211", "FIXED: det/1 was not declared as a proper meta-predicate.", 'SWI-Prolog/swipl-devel').
  496changelog_event(det/1, fixed, 90107, 1677504793, "34aef502622509617fe619119b2584630c908947", "FIXED: det/1 and friends to propagate the expectation in last calls to a meta predicate.", 'SWI-Prolog/swipl-devel').
  497changelog_event(detach_IO/1, fixed, 90103, 1673266500, "bfcbc0363aaff34f415d382310b96ace16b2fd83", "FIXED: detach_IO/1: Protect I/O stream against garbage collection.", 'SWI-Prolog/packages-clib').
  498changelog_event(dict_options/2, enhanced, 80500, 1632754565, "9052f09e6c59444672fd5e36f9635dd9c71dbebe", "ENHANCED: dict_options/2 in mode (-,+) to remove duplicate options, keeping the first.", 'SWI-Prolog/swipl-devel').
  499changelog_event(dict_pairs/3, fixed, 100001, 1770991470, "2e716929d280c145ab659a384818bf4230d518aa", "FIXED: dict_pairs/3 could create dicts with duplicate keys.", 'SWI-Prolog/swipl-devel').
  500changelog_event(dict_same_keys/2, fixed, 90318, 1734615166, "915dcce90b1b81d50e65d835363ec3e0604d796d", "FIXED: dict_same_keys/2 could overflow the global stack.", 'SWI-Prolog/swipl-devel').
  501changelog_event(dict_same_keys/2, introduced, 90313, 1728656105, "ab446002ab80114fe0b08fc8bc302597111aafbc", "ADDED: dict_same_keys/2", 'SWI-Prolog/swipl-devel').
  502changelog_event(dict_size/2, introduced, 80328, 1626873788, "1e8ba64416cb7c9bf8454f9df43a8c01cbbfe37a", "ADDED: dict_size/2.  Issue#864.  David Tonhofer.", 'SWI-Prolog/swipl-devel').
  503changelog_event(dicts_to_compounds/4, fixed, 90323, 1744117873, "fc8851f1958d9c3ca79c48fb77ce9745fd79fdf3", "FIXED: dicts_to_compounds/4 if dicts have non-atom tags.", 'SWI-Prolog/swipl-devel').
  504changelog_event(dif/2, enhanced, 100112, 1783959450, "46b705c45fad2c49e11459500482a6223952de3e", "ENHANCED: dif/2 canonical propagation via unifiable/3 on accumulated lists", 'SWI-Prolog/swipl-devel').
  505changelog_event(dif/2, fixed, 80503, 1636968052, "b5eb177d0c38f69e77d39ccd4cb7b9b820fd65e9", "FIXED: dif/2: pending constraints on sharing inside the terms.", 'SWI-Prolog/swipl-devel').
  506changelog_event(dif/2, fixed, 80503, 1637233118, "e385cd156ddf2deed25cadc264eb02cd0f653f81", "FIXED: dif/2: we should ignore unrelated attributes.", 'SWI-Prolog/swipl-devel').
  507changelog_event(dif/2, fixed, 80503, 1637418157, "0286dc4251099426dfb718b2a0df4906ba77299f", "FIXED: Issue#105: dif/2 wrong result.", 'SWI-Prolog/swipl-devel').
  508changelog_event(dif/2, fixed, 80509, 1646814208, "1333932c1bbed35915ea5bf4fc18aa1ef7ae679b", "FIXED: dif/2 not firing after unifying with other attributed variables.", 'SWI-Prolog/swipl-devel').
  509changelog_event(dif/2, fixed, 80512, 1652374781, "e8c2e0dd02446e61543e6c41bb76429c8186c5f0", "FIXED: Issue#122: dif/2: or-node simplification.", 'SWI-Prolog/swipl-devel').
  510changelog_event(dif/2, fixed, 100112, 1783945348, "8afbf082e91c271d0497734e9ddecac24743cbfe", "FIXED: #919 dif/2 loops on cyclic terms", 'SWI-Prolog/swipl-devel').
  511changelog_event(directory_file_path/3, fixed, 90121, 1702220467, "d3652a01d1fff7c5a4bd7ce317f8eea87a319314", "FIXED: directory_file_path/3 when Dir = `''`", 'SWI-Prolog/packages-clib').
  512changelog_event(directory_file_path/3, fixed, 90122, 1705075797, "ea2cbc7cd7be77567d67c2ec0d56ba4f0b088daa", "FIXED: directory_file_path/3: typo in raised exception.", 'SWI-Prolog/packages-clib').
  513changelog_event(directory_files/2, fixed, 80518, 1663949551, "558198d62fc05b5777f1623aca864fe0f8198599", "FIXED: Windows: directory_files/2 and other directory access for long paths.   Fixed by @mgondan1.  Thanks!", 'SWI-Prolog/swipl-devel').
  514changelog_event(directory_index/2, added, 80116, 1573313090, "f63ef81a06f8d5fc4fce04def2a7dfc728fbf411", "ADDED: http_reply_dirindex/3 and directory_index/2: option name(Callable) to hook the name cell creation.", 'SWI-Prolog/packages-http').
  515changelog_event(directory_member/3, fixed, 90332, 1759650498, "97969ccea440b80903c15a584d68cb0b4fa6f5de", "FIXED: directory_member/3: respect file_type(regular) option", 'SWI-Prolog/packages-clib').
  516changelog_event((discontiguous)/1, fixed, 80102, 1549798689, "94638391691089bac04842b04c534243bca20e85", "FIXED: Declare dynamic/1, multifile/1 and discontiguous/1 as `iso`.  This avoids accidental redefinition.", 'SWI-Prolog/swipl-devel').
  517changelog_event((discontiguous)/1, fixed, 80328, 1626357433, "568a1359945d36cfb82767a1bb05dc168dd82e99", "FIXED: reloading with :- discontiguous/1 directive in included file. Edison Mera.", 'SWI-Prolog/swipl-devel').
  518changelog_event(display/1, modified, 80102, 1549636281, "5f680b1be8f153db188dc37fc809135b087e9a65", "MODIFIED: display/1,2 now write lists using the internal SWI-Prolog `'[|]'` functor.  Adds an option `no_lists(bool)` to write_term/3.", 'SWI-Prolog/swipl-devel').
  519changelog_event(distinct/1, enhanced, 90315, 1730458850, "f1551946d1ab64cf07161c79f2760877f5549965", "ENHANCED: Implement distinct/1,2 and reduced/1,3 using tries.", 'SWI-Prolog/swipl-devel').
  520changelog_event(distinct/1, fixed, 90321, 1740600847, "4de058d21bffd41b26059e3a8cc92b8cb4e6360f", "FIXED: Sandbox: declare distinct/1,2 as safe (uses tries).", 'SWI-Prolog/swipl-devel').
  521changelog_event(downcase_atom/2, fixed, 90118, 1698758222, "090b6216128d7097267790c289ea8c87d23605fd", "FIXED: downcase_atom/2 and upcase_atom/2: error handling.", 'SWI-Prolog/swipl-devel').
  522changelog_event(drop_target_clear_hint/1, introduced, 100109, 1781517506, "13961fe35054ed2629cf59d98f7045c818db7a60", "ADDED: library(pce_drop_target) for SDL3 drop overlays", 'SWI-Prolog/packages-xpce').
  523changelog_event(drop_target_event/4, introduced, 100109, 1781517506, "13961fe35054ed2629cf59d98f7045c818db7a60", "ADDED: library(pce_drop_target) for SDL3 drop overlays", 'SWI-Prolog/packages-xpce').
  524changelog_event(drop_target_show_hint/3, introduced, 100109, 1781517506, "13961fe35054ed2629cf59d98f7045c818db7a60", "ADDED: library(pce_drop_target) for SDL3 drop overlays", 'SWI-Prolog/packages-xpce').
  525changelog_event(drop_target_show_rejected/3, introduced, 100109, 1781517506, "13961fe35054ed2629cf59d98f7045c818db7a60", "ADDED: library(pce_drop_target) for SDL3 drop overlays", 'SWI-Prolog/packages-xpce').
  526changelog_event(dtd_property/2, fixed, 90114, 1691738960, "0bea14c90d123fedd2f940706ea7acbb5330d674", "FIXED: Race condition in dtd_property/2", 'SWI-Prolog/packages-sgml').
  527changelog_event(dump/3, enhanced, 80327, 1624948880, "0929ec9f4e3b71b2423bbaf691fffa9865f0f883", "ENHANCED: Use high level copy built-ins to realize dump/3 and  projecting_assert/1. Share code between these.", 'SWI-Prolog/packages-clpqr').
  528changelog_event(dump/3, enhanced, 80508, 1645633080, "8311b3cd638313b477a1ad03ceff5cec015ef55d", "ENHANCED: Faster dump/3 implementation.", 'SWI-Prolog/packages-clpqr').
  529changelog_event((dynamic)/1, fixed, 80102, 1549798689, "94638391691089bac04842b04c534243bca20e85", "FIXED: Declare dynamic/1, multifile/1 and discontiguous/1 as `iso`.  This avoids accidental redefinition.", 'SWI-Prolog/swipl-devel').
  530changelog_event((dynamic)/1, fixed, 80308, 1600937638, "b3876f718b8c2ef1ab68f827cc5c0f504969e3ea", "FIXED: Declarations such as dynamic/1 to enforce the argument to be predicate indicators.  Before that, a _head_ was accepted which causes these predicates to succeed silently when the arity is omitted, working on name/0.", 'SWI-Prolog/swipl-devel').
  531changelog_event((dynamic)/2, added, 80109, 1561711210, "eaa262f901fc4ff7105bd3f10a96627e44c0dff2", "ADDED: dynamic/2 to set additional properties on dynamic predicates.", 'SWI-Prolog/swipl-devel').
  532changelog_event((dynamic)/2, fixed, 80112, 1565169813, "6b781ee3575b5dfc5d20074d6b373a9bb1094892", "FIXED: dynamic/2: option thread(local/shared) was ignored.", 'SWI-Prolog/swipl-devel').
  533changelog_event(ecdsa_sign/4, fixed, 100110, 1781679983, "313d94345c5028bc9d3f5b58fd55324e47da3f62", "FIXED: #175 ecdsa_sign/4 and ecdsa_verify/4 with OpenSSL 3", 'SWI-Prolog/packages-ssl').
  534changelog_event(ecdsa_verify/4, fixed, 100110, 1781679983, "313d94345c5028bc9d3f5b58fd55324e47da3f62", "FIXED: #175 ecdsa_sign/4 and ecdsa_verify/4 with OpenSSL 3", 'SWI-Prolog/packages-ssl').
  535changelog_event(ed25519_keypair_public_key/2, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  536changelog_event(ed25519_new_keypair/1, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  537changelog_event(ed25519_seed_keypair/2, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  538changelog_event(ed25519_sign/4, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  539changelog_event(ed25519_sign/4, modified, 100112, 1784038028, "a4059fd74f1ee5830175c173bd4e4f8140a2c0bb", "MODIFIED: ed25519_sign/4 and ed25519_verify/4 default to encoding(utf8)", 'SWI-Prolog/packages-ssl').
  540changelog_event(ed25519_verify/4, introduced, 100112, 1784037503, "8100e85f6c8075eef892c4e421f32fe197aa6483", "ADDED: #156 Ed25519 signatures and X25519 key exchange", 'SWI-Prolog/packages-ssl').
  541changelog_event(ed25519_verify/4, modified, 100112, 1784038028, "a4059fd74f1ee5830175c173bd4e4f8140a2c0bb", "MODIFIED: ed25519_sign/4 and ed25519_verify/4 default to encoding(utf8)", 'SWI-Prolog/packages-ssl').
  542changelog_event(edit/1, enhanced, 90322, 1742725718, "0f3f7ab9edbd040b669936d0aca6b021e5af5a20", "ENHANCED: edit/1", 'SWI-Prolog/swipl-devel').
  543changelog_event(edit/1, enhanced, 100101, 1767180169, "cfe0a283789646da2a909657697174460f53e3e9", "ENHANCED: edit/1: if multiple hits are in the same file, take most specific.", 'SWI-Prolog/swipl-devel').
  544changelog_event(edit/1, enhanced, 100102, 1769006440, "31c83007bc8592fdeb732d82b558941b212c6bf5", "ENHANCED: edit/1: merging module and file.", 'SWI-Prolog/swipl-devel').
  545changelog_event(edit/1, fixed, 90322, 1742991552, "ced16b3a8cbd20dad8a57a8b44ce13f71443da49", "FIXED: edit/1: find e.g. library(lists) if only qlf files are installed.", 'SWI-Prolog/swipl-devel').
  546changelog_event(edit/1, fixed, 90322, 1742996244, "c7a297d538908da3d8cc0a5a404b828ed3a07a13", "FIXED: edit/1 using edit(file(File)).", 'SWI-Prolog/swipl-devel').
  547changelog_event(edit/1, fixed, 90329, 1755853882, "908d60a50d0dbc022455133ba5d63b5f6db7ed23", "FIXED: edit/1 to merge all locations considered identical.", 'SWI-Prolog/swipl-devel').
  548changelog_event(edit/1, fixed, 100101, 1766654736, "b129258c985b6ca57d3c0aa08c88d711737cc6a9", "FIXED: edit/1 for normal predicates.", 'SWI-Prolog/swipl-devel').
  549changelog_event(edit/1, fixed, 100112, 1783618802, "3343a73de6ad507daf892ead564531cfcb993522", "FIXED: edit/1 support for xpce classes.", 'SWI-Prolog/packages-xpce').
  550changelog_event(edit/1, modified, 90322, 1742747886, "c8d8fc57494c85867836a3f201813bd4ada64e64", "MODIFIED: edit/1: use dicts for representing (partial) locations.", 'SWI-Prolog/swipl-devel').
  551changelog_event(el_editmode/2, introduced, 80117, 1573995251, "8469277bf4030804e0ec404e11488a6a556e07c1", "ADDED: Implement C-r: incremental search in the history.  This also exposes more of the libedit low level functionality to Prolog, notably reading raw input and pushing characters into the input buffer.", 'SWI-Prolog/packages-libedit').
  552changelog_event(el_get/2, added, 100107, 1776941964, "663fbfa88fe06e0ecded918ef6ea8e1d5b8aae1e", "ADDED: bracketed_paste(?Boolean) property to el_set/2 and el_get/2", 'SWI-Prolog/packages-libedit').
  553changelog_event(el_get/2, added, 100107, 1776941995, "3980db87a67b9acaca0704a86a5a9f01db4eedb1", "ADDED: el_get/2 and runtime bracketed_paste control", 'SWI-Prolog/swipl-devel').
  554changelog_event(el_get/2, introduced, 100107, 1776940378, "8edff8aeb3fdd49d371037a4d24416e3a582b94c", "ADDED: el_get/2 to query editline properties", 'SWI-Prolog/packages-libedit').
  555changelog_event(el_getc/2, introduced, 80117, 1573995251, "8469277bf4030804e0ec404e11488a6a556e07c1", "ADDED: Implement C-r: incremental search in the history.  This also exposes more of the libedit low level functionality to Prolog, notably reading raw input and pushing characters into the input buffer.", 'SWI-Prolog/packages-libedit').
  556changelog_event(el_history/2, added, 90334, 1761646323, "9258f9d87f8e26907b6b579f05317528fc006143", "ADDED: el_history/2: `getsize(-Size)` support.", 'SWI-Prolog/packages-libedit').
  557changelog_event(el_history/2, added, 90334, 1762015051, "e44191a84161fd670f36a46fbda064b1f433ad1f", "ADDED: Extended el_history/2 with more actions.", 'SWI-Prolog/packages-libedit').
  558changelog_event(el_history/2, fixed, 90325, 1750159685, "5782a9558725d2669f0f994426d6015217275ef2", "FIXED: el_history/2: handling of setsize() was undefined.", 'SWI-Prolog/packages-libedit').
  559changelog_event(el_push/2, introduced, 80117, 1573995251, "8469277bf4030804e0ec404e11488a6a556e07c1", "ADDED: Implement C-r: incremental search in the history.  This also exposes more of the libedit low level functionality to Prolog, notably reading raw input and pushing characters into the input buffer.", 'SWI-Prolog/packages-libedit').
  560changelog_event(el_read_history/2, modified, 90334, 1761928774, "e8309bae2a7410217c9f084db78e270c2b238cfc", "MODIFIED: el_read_history/2 to raise an error if the history file is invalid.", 'SWI-Prolog/packages-libedit').
  561changelog_event(el_set/2, added, 100107, 1776941964, "663fbfa88fe06e0ecded918ef6ea8e1d5b8aae1e", "ADDED: bracketed_paste(?Boolean) property to el_set/2 and el_get/2", 'SWI-Prolog/packages-libedit').
  562changelog_event(el_set/2, introduced, 90335, 1762941439, "f8aef1c43001589f6f0b5898b9d8add5d487623b", "ADDED: el_set/2 to set the word characters", 'SWI-Prolog/packages-libedit').
  563changelog_event(el_unwrap/1, fixed, 80120, 1576949306, "8d4d2bdb29999295ef46d1ad7665f0a48c0ad1b5", "FIXED: el_unwrap/1: avoid ignoring a possible exception.", 'SWI-Prolog/packages-libedit').
  564changelog_event(el_version/1, introduced, 90333, 1760700301, "a639d059d3cfe95871df6c9fba3a61d042d769d2", "ADDED: el_version/1 to get the version of the editline library used.", 'SWI-Prolog/packages-libedit').
  565changelog_event(el_wrap/1, introduced, 90326, 1751129065, "e7dc37f479e9db531bd4d18a3f9a952e991db8fc", "ADDED: Support Windows pipe handles for I/O", 'SWI-Prolog/packages-libedit').
  566changelog_event(el_wrap/4, enhanced, 90325, 1750161155, "61865090fead0f02bd94a60822fa379468623fcd", "ENHANCED: el_wrap/4 to raise an error if the stream is already wrapped.", 'SWI-Prolog/packages-libedit').
  567changelog_event(el_wrap/5, introduced, 90326, 1751129065, "e7dc37f479e9db531bd4d18a3f9a952e991db8fc", "ADDED: Support Windows pipe handles for I/O", 'SWI-Prolog/packages-libedit').
  568changelog_event(el_wrapped/1, fixed, 80120, 1577022224, "a9ada05b5409e5628bbc5e2df47cc52ff0e09897", "FIXED: el_wrapped/1: avoid ignoring a possible exception.", 'SWI-Prolog/packages-libedit').
  569changelog_event(emacs/0, fixed, 90335, 1762936581, "6a2475e43547ed2d556f1f1ef3e2af83ab1c169a", "FIXED: Message handling.  Broke emacs/0.", 'SWI-Prolog/packages-xpce').
  570changelog_event(emacs/1, fixed, 90324, 1745406114, "642d1e39f92acbeb51db4b5644f5195dbf63fe6b", "FIXED: emacs/1: allow non-existing file.", 'SWI-Prolog/packages-xpce').
  571changelog_event(empty_fdset/1, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  572changelog_event(empty_interval/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  573changelog_event(enable_line_editing/3, fixed, 90325, 1747944666, "b44eba93b8db77d0dae54999187301a0e12a81e9", "FIXED: enable_line_editing/3 to avoid conditional compilation.", 'SWI-Prolog/swipl-devel').
  574changelog_event(engine_next/2, fixed, 80516, 1661078285, "5a3743ab97ec8960d711cf0dbbfb8f3d90eeb6fd", "FIXED: Issue#1021: engine_next/2 for a next answer when the previous return was due to a yield crashes.", 'SWI-Prolog/swipl-devel').
  575changelog_event(engine_next_reified/2, modified, 90108, 1678033972, "0ded2bf9baf559bb0d50147f71734e561f76525f", "MODIFIED: engine_next_reified/2 to return an exception as throw(Exception) rather than exception(Exception).   Compatibile with e.g. call_time/3.", 'SWI-Prolog/swipl-devel').
  576changelog_event(ensure_directory/1, introduced, 90120, 1700574676, "22de348154a49d99045a33619db9c2c58aadc3af", "ADDED: ensure_directory/1", 'SWI-Prolog/packages-clib').
  577changelog_event(ep_has_console/1, fixed, 100100, 1764839219, "97f0df65e1de05f3970ad71a66a31d1c9359e5d0", "FIXED: Undefined ep_has_console/1 message when enabling the debugger.", 'SWI-Prolog/swipl-devel').
  578changelog_event(ep_has_console/1, introduced, 90331, 1758440619, "587721f6291736d2060703d94d04e01c27cc3ad5", "ADDED: epilog_attach/1 to attach an epilog window to an already running thread.", 'SWI-Prolog/packages-xpce').
  579changelog_event(epilog/1, added, 100106, 1776591170, "28fc777a84581fc39e78a0a85313e587dcfeb3e6", "ADDED: epilog/1 option object(-Ref)", 'SWI-Prolog/packages-xpce').
  580changelog_event(epilog_attach/1, introduced, 90331, 1758440619, "587721f6291736d2060703d94d04e01c27cc3ad5", "ADDED: epilog_attach/1 to attach an epilog window to an already running thread.", 'SWI-Prolog/packages-xpce').
  581changelog_event(epilog_insert_menu/2, introduced, 90329, 1755851731, "527fa9cd0c1844d6a6c21cc301b5d815b690d5f4", "ADDED: epilog_insert_menu/2 and epilog_insert_menu_item/4.", 'SWI-Prolog/packages-xpce').
  582changelog_event(epilog_insert_menu_item/4, introduced, 90329, 1755851731, "527fa9cd0c1844d6a6c21cc301b5d815b690d5f4", "ADDED: epilog_insert_menu/2 and epilog_insert_menu_item/4.", 'SWI-Prolog/packages-xpce').
  583changelog_event(evaluable_property/2, added, 90112, 1688396597, "1ae98e16e39a2aea163ad26d475225631d41c09a", "ADDED: evaluable_property/2: `iso` property.", 'SWI-Prolog/swipl-devel').
  584changelog_event(evaluable_property/2, introduced, 90111, 1688374536, "a20d64152db8c9ca1e0ac999f7ec457f1c7d23ca", "ADDED: evaluable_property/2", 'SWI-Prolog/swipl-devel').
  585changelog_event(exception/2, introduced, 90316, 1732709837, "c1379fae3163d66bdc6f5d78c152742bea90a01b", "ADDED: library(exceptions)", 'SWI-Prolog/swipl-devel').
  586changelog_event(exception/3, modified, 80328, 1627822809, "704c8c9438a8409775624d6e1888e3e9f6d350c8", "MODIFIED: Global variables no longer use exception/3 for lazy evaluation after nb_delete/1 or after exception/3 called by nb_current/2 with a given variable name failed to define the variable.", 'SWI-Prolog/swipl-devel').
  587changelog_event(exception_type/2, introduced, 90316, 1732709837, "c1379fae3163d66bdc6f5d78c152742bea90a01b", "ADDED: library(exceptions)", 'SWI-Prolog/swipl-devel').
  588changelog_event(exists_directory/1, fixed, 90109, 1679831135, "4742435e8dc94ccb6cafe263c1c51bbb6d96fcae", "FIXED: Windows exists_file/1 and exists_directory/1 domain error.", 'SWI-Prolog/swipl-devel').
  589changelog_event(exists_file/1, fixed, 90109, 1679831135, "4742435e8dc94ccb6cafe263c1c51bbb6d96fcae", "FIXED: Windows exists_file/1 and exists_directory/1 domain error.", 'SWI-Prolog/swipl-devel').
  590changelog_event(exists_source/1, modified, 80122, 1581434194, "85dfd19e7efeae0f6c5ba67b280f22141c29f045", "MODIFIED: Moved exists_source/1 to built-in to simplify writing conditional code.", 'SWI-Prolog/swipl-devel').
  591changelog_event(expand_file_name/2, enhanced, 80516, 1662100886, "4b7a869196d5859843c8fec7173dbcf2c7900362", "ENHANCED: expand_file_name/2: provide signal handling while expanding such that we can interrupt.", 'SWI-Prolog/swipl-devel').
  592changelog_event(expand_file_name/2, fixed, 80302, 1591796288, "a8124ab69b00bbb5418f0f86cec2f1e99b56be66", "FIXED: expand_file_name/2 and wildcard_match/2", 'SWI-Prolog/swipl-devel').
  593changelog_event(expand_file_name/2, fixed, 80302, 1591798497, "fe9cdf4dad31b78654d93219c222887b53b98b97", "FIXED: wildcard_match/2 and expand_file_name/2 used to print a warning and throw a domain_error on an illegal pattern.  It now throws a syntax_error exception.", 'SWI-Prolog/swipl-devel').
  594changelog_event(expand_file_name/2, fixed, 80307, 1598370307, "874ffd474b680be52af0913770ee0bed67b0d8b1", "FIXED: Issue#652: expand_file_name/2 for Windows: double UTF-8 encoding.", 'SWI-Prolog/swipl-devel').
  595changelog_event(expand_file_name/2, fixed, 80316, 1608584383, "c2dbf22b871756a6e830398a3516c2f9f9ff04ad", "FIXED: Issue#747: Windows: expand_file_name/2 Unicode issues.", 'SWI-Prolog/swipl-devel').
  596changelog_event(expand_file_name/2, fixed, 80516, 1661964536, "055d5e45d9421825db7c816d3e33caae1f26a56a", "FIXED: existence checking on Windows for expand_file_name/2", 'SWI-Prolog/swipl-devel').
  597changelog_event(expand_file_name/2, modified, 80516, 1661964667, "1b0b08bc3d06acbae974b241be8a8e662615eaf6", "MODIFIED: expand_file_name/2 return entries in simple lexical order rather than using mbscoll().  The latter did not work anyway because the pattern and file names use UTF-8 rather than native multibyte.", 'SWI-Prolog/swipl-devel').
  598changelog_event(expand_macros/5, introduced, 90111, 1684956064, "444218409e4c4f31e2d763ee32798c73ab4a15b8", "ADDED: library(macros)", 'SWI-Prolog/swipl-devel').
  599changelog_event(expand_path/2, fixed, 90000, 1667119431, "e847b8ee0271c025c19f4ff0a7333408d0ab0228", "FIXED: replace internal expand_path/2 with absolute_file_name/3", 'SWI-Prolog/packages-xpce').
  600changelog_event(expand_term/2, fixed, 90111, 1684770085, "bb28a490d220ec949a6a5a569c265ccaf189cec5", "FIXED: Ensure expand_term/2 cannot alter the current source location.", 'SWI-Prolog/swipl-devel').
  601changelog_event(expand_term/2, fixed, 90314, 1729235238, "e2653691e703bb7a8cd92ec0862bc611a5d87020", "FIXED: expand_term/2 to succeed twice when expanding a toplevel list.", 'SWI-Prolog/swipl-devel').
  602changelog_event(expects_dialect/1, fixed, 80124, 1583242246, "ac61d6a6c236553641f59f7b4da9029aa31f20dc", "FIXED: Avoid :- expects_dialect/1 from depending on autoloading library(dialect).", 'SWI-Prolog/swipl-devel').
  603changelog_event(expects_dialect/1, fixed, 80316, 1608459631, "623197e40d1849825fb0fae48370b8b46675b6c8", "FIXED: expects_dialect/1: always load SWI-Prolog library modules in `swi` dialect.", 'SWI-Prolog/swipl-devel').
  604changelog_event(expects_dialect/1, fixed, 80316, 1608459631, "c0fd2bbf738402e7fba7d349f8f87ffa4c41c9e1", "FIXED: Issue#742: expects_dialect/1: switch `emulated_dialect` flag after loading the dialect specific library.", 'SWI-Prolog/swipl-devel').
  605changelog_event(explain/1, enhanced, 80327, 1625238975, "eab732f34e25eb01e068c3fc6ae0e15255f28724", "ENHANCED: explain/1 to support dicts, hide references from the cross-referencer and show file and line numbers for references from clauses.", 'SWI-Prolog/swipl-devel').
  606changelog_event(explain/1, enhanced, 80504, 1639745999, "a863acf45e5190bbfc6d2f429e5ef8fc2e72f558", "ENHANCED: explain/1: hide system references.", 'SWI-Prolog/swipl-devel').
  607changelog_event(explain/1, enhanced, 80504, 1639750133, "85e8f2cb6e6d53de9d6febfd64131e6de4bd0ce0", "ENHANCED: Make explain/1 use the message system and the new terminal hyperlinks.", 'SWI-Prolog/swipl-devel').
  608changelog_event(explain/1, enhanced, 90107, 1676989965, "79e354a000722cfdc585dcbc82b6730b9d8f2fd4", "ENHANCED: explain/1 to report predicates as non-terminal if this is known.", 'SWI-Prolog/swipl-devel').
  609changelog_event(explain/1, enhanced, 90315, 1730718472, "4ca7e8c735a4442c86f7b9d14a7e9900471c6011", "ENHANCED: explain/1 to enumerate all instances of a non-qualified predicate.", 'SWI-Prolog/swipl-devel').
  610changelog_event(explain/1, enhanced, 90319, 1737131372, "295470d25773be77b5bae188644bd0134ffd8079", "ENHANCED: explain/1", 'SWI-Prolog/swipl-devel').
  611changelog_event(explain/1, fixed, 80512, 1652603394, "47e3e1f84c7c13c55eddd033457c8682dcbac50d", "FIXED: explain/1: hide references from prolog_xref:called/5", 'SWI-Prolog/swipl-devel').
  612changelog_event(explain/1, fixed, 90316, 1732723579, "29fffe2c107371e13e11bf5d80a310827c6790db", "FIXED: explain/1 to report the same predicate multiple times.", 'SWI-Prolog/swipl-devel').
  613changelog_event(export/1, fixed, 90308, 1716898581, "3170b934b327fea6254e1ee605c593beeac926f1", "FIXED: Process multiple predicates from export/1 directives.", 'SWI-Prolog/swipl-devel').
  614changelog_event(extend_goal/3, introduced, 80125, 1583424221, "f7a56f9264caeb04de5e83295bdb58fe8200101c", "ADDED: library(prolog_code): extend_goal/3.", 'SWI-Prolog/swipl-devel').
  615changelog_event(extend_goal/3, modified, 80319, 1612270267, "cf65970368eaac32017afe819f68bce2af2ee9b3", "MODIFIED: extend_goal/3 from library(prolog_code) to return the goal using call/N in case the callable to extend is insufficiently instantiated.", 'SWI-Prolog/swipl-devel').
  616changelog_event(fast_term_serialized/2, fixed, 80509, 1647446812, "4799b5792569c725ded71e825d33f575d862d287", "FIXED: fast_term_serialized/2: memory leak.", 'SWI-Prolog/swipl-devel').
  617changelog_event(fd_degree/2, fixed, 80511, 1649849624, "673a8f640c9fe7270a780c9da968809de524e9bc", "FIXED: fd_degree/2 and fd_set/2 for constant integer arguments.", 'SWI-Prolog/swipl-devel').
  618changelog_event(fd_degree/2, introduced, 80328, 1626941034, "d62745630eac01a2e9e195870833b30329335048", "ADDED: fd_degree/2 to library(clpfd).", 'SWI-Prolog/swipl-devel').
  619changelog_event(fd_set/2, fixed, 80511, 1649849624, "673a8f640c9fe7270a780c9da968809de524e9bc", "FIXED: fd_degree/2 and fd_set/2 for constant integer arguments.", 'SWI-Prolog/swipl-devel').
  620changelog_event(fd_set/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  621changelog_event(fdset_add_element/3, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  622changelog_event(fdset_complement/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  623changelog_event(fdset_del_element/3, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  624changelog_event(fdset_disjoint/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  625changelog_event(fdset_eq/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  626changelog_event(fdset_intersect/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  627changelog_event(fdset_intersection/3, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  628changelog_event(fdset_interval/3, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  629changelog_event(fdset_max/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  630changelog_event(fdset_member/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  631changelog_event(fdset_min/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  632changelog_event(fdset_parts/4, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  633changelog_event(fdset_singleton/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  634changelog_event(fdset_size/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  635changelog_event(fdset_subset/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  636changelog_event(fdset_subtract/3, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  637changelog_event(fdset_to_list/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  638changelog_event(fdset_to_range/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  639changelog_event(fdset_union/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  640changelog_event(fdset_union/3, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  641changelog_event(file_auto_import/2, introduced, 80130, 1588176485, "804c1406908923f04f7cee3e6bd5d0d47251c6df", "ADDED: library(prolog_deps) to compute dependency directives for a file and optionally edit the file in-place to add the directives.", 'SWI-Prolog/swipl-devel').
  642changelog_event(file_autoload_directives/3, enhanced, 90201, 1706887173, "8019b12f47130799caa611791b5f5bf4fc51ba51", "ENHANCED: file_autoload_directives/3: Consider files from already existing directories.", 'SWI-Prolog/swipl-devel').
  643changelog_event(file_autoload_directives/3, enhanced, 90201, 1706957639, "bb27eab9d08b08589165a1be2211d657f0f178b9", "ENHANCED: file_autoload_directives/3 to deal with local paths in a project.", 'SWI-Prolog/swipl-devel').
  644changelog_event(file_autoload_directives/3, enhanced, 90314, 1729005385, "602df5ca2842d339d4fa0477a63bb1ce466c364c", "ENHANCED: file_autoload_directives/3: deal with library(main) hooks.", 'SWI-Prolog/swipl-devel').
  645changelog_event(file_autoload_directives/3, fixed, 90201, 1706884389, "853e8be4e0c0c9710d0050a86715de994f46fdc9", "FIXED: file_autoload_directives/3: avoid importing as name//a and name/a.", 'SWI-Prolog/swipl-devel').
  646changelog_event(file_autoload_directives/3, fixed, 90322, 1743435406, "c9c3bd730441df5805ca3d6c69be30f23cda93b7", "FIXED: file_autoload_directives/3: Handle absence of sources", 'SWI-Prolog/swipl-devel').
  647changelog_event(file_autoload_directives/3, fixed, 100113, 1785939553, "d3739291b2bebceeb731464ad5c47d269eafc5b4", "FIXED: file_autoload_directives/3: Handle XPCE text_buffer correctly.", 'SWI-Prolog/swipl-devel').
  648changelog_event(file_autoload_directives/3, introduced, 80130, 1588176485, "804c1406908923f04f7cee3e6bd5d0d47251c6df", "ADDED: library(prolog_deps) to compute dependency directives for a file and optionally edit the file in-place to add the directives.", 'SWI-Prolog/swipl-devel').
  649changelog_event(findall/3, enhanced, 80127, 1585323316, "605f8e7b765aad83d8ede6f0d979dfb9ec89991b", "ENHANCED: Use new mmap() based allocation more generally for large temporary allocations.  Currently used by findall/3 and friends.  There are more candidates where this can help, such as buffers and stacks for cycle detection, enumerating large terms, etc.", 'SWI-Prolog/swipl-devel').
  650changelog_event(findall/3, enhanced, 90107, 1676392352, "2dfcaed578486c116e99314d864deae03c09a3fc", "ENHANCED: Small speedup for findall/3 by specializing setup_call_cleanup/3.", 'SWI-Prolog/swipl-devel').
  651changelog_event(findall/3, enhanced, 90303, 1710428013, "4c42fc9519f3cba99035d2c1be305ea93bdcd895", "ENHANCED: Use a segmented stack for dealing with findall/3.", 'SWI-Prolog/swipl-devel').
  652changelog_event(findall/3, fixed, 80124, 1583314613, "a141e99e9a6ee0a77d9240febbbd952314d0b80a", "FIXED: handling rational numbers in records could result in wrong value or a crash. Records are used (for example) in recorda/2, findall/3, thread_send_message/2.", 'SWI-Prolog/swipl-devel').
  653changelog_event(findall/3, fixed, 80128, 1586270883, "d28bc29be71fc6ab0071e2ba73901c60f678914f", "FIXED: findall/3 memory pool allocation for new tmp_malloc().   With help from Edison Mera.", 'SWI-Prolog/swipl-devel').
  654changelog_event(findall/3, fixed, 80316, 1608303358, "daafaa7beddd8e153b751d82b65aa9880a58d339", "FIXED: We cannot catch a delimited continuation through a findall/3. Raise an error and give better messages for attempts to table this way.", 'SWI-Prolog/swipl-devel').
  655changelog_event(float32_codes/2, introduced, 80323, 1619194933, "2c79244f3584c70cfc373e09b91ed8c1d326bb9c", "ADDED: protobuf_segment_message/2 and export the low-level conversion predicates", 'SWI-Prolog/contrib-protobufs').
  656changelog_event(float64_codes/2, introduced, 80323, 1619194933, "2c79244f3584c70cfc373e09b91ed8c1d326bb9c", "ADDED: protobuf_segment_message/2 and export the low-level conversion predicates", 'SWI-Prolog/contrib-protobufs').
  657changelog_event(float_class/2, introduced, 80123, 1581845811, "831180fced3298469260e33c6f668350019f178e", "ADDED: float_class/2 to classify the various non-normal IEEE 754 float values.", 'SWI-Prolog/swipl-devel').
  658changelog_event(float_fractional_part/1, modified, 80127, 1585933960, "7d5f5e2724eacfc61da28e52b6dbd90669de7ed0", "MODIFIED: float_fractional_part/1 and float_integer_part/1 functions to return standard NaN (fix) or raise an exception if `float_undefined` is set to `error`.", 'SWI-Prolog/swipl-devel').
  659changelog_event(float_integer_part/1, modified, 80127, 1585933960, "7d5f5e2724eacfc61da28e52b6dbd90669de7ed0", "MODIFIED: float_fractional_part/1 and float_integer_part/1 functions to return standard NaN (fix) or raise an exception if `float_undefined` is set to `error`.", 'SWI-Prolog/swipl-devel').
  660changelog_event(float_parts/4, introduced, 80126, 1584871516, "1c49e78cc544a35cbbefcac97358f6b139877cc4", "ADDED: float_parts/4: float_parts(+Float, -Mantissa, -Base, -Exponent)", 'SWI-Prolog/swipl-devel').
  661changelog_event(floor/1, fixed, 80123, 1582394817, "c1b972a9b38151f2a36abe6b9d436e07d7b1bd4e", "FIXED: round/1, ceil/1, floor/1, truncate/1 functions on special floats. Some of these could crash (SIGFPE).", 'SWI-Prolog/swipl-devel').
  662changelog_event(foldall/4, introduced, 90318, 1735557590, "3a5b359cd03ce7b97a9a9e73121bde1b68739fc9", "ADDED: foldall/4.  Suggested by Boris Vassilev.", 'SWI-Prolog/swipl-devel').
  663changelog_event(foldsubterms/4, introduced, 80507, 1643042293, "3d3eb3c74028b261168895272927c9ab8bbc4891", "ADDED: foldsubterms/5 and use this to bootstrap foldsubterms/4, mapsubterms/3 and mapsubterms_var/3.", 'SWI-Prolog/swipl-devel').
  664changelog_event(foldsubterms/5, introduced, 80507, 1643042293, "3d3eb3c74028b261168895272927c9ab8bbc4891", "ADDED: foldsubterms/5 and use this to bootstrap foldsubterms/4, mapsubterms/3 and mapsubterms_var/3.", 'SWI-Prolog/swipl-devel').
  665changelog_event(foreach/2, enhanced, 80305, 1595752893, "a606cac2ecc34b1e2a11b2b427bb4ee04e609fba", "ENHANCED: foreach/2: better performance and avoid copying goal.", 'SWI-Prolog/swipl-devel').
  666changelog_event(foreign_library_property/2, introduced, 100107, 1777809218, "2c7bfeee890ffa28e5b6cead9af4b2b04017d775", "ADDED: foreign_library_property/2 to query foreign library properties", 'SWI-Prolog/swipl-devel').
  667changelog_event(format/1, fixed, 90335, 1763134844, "adeae218f0bbe8d754e11c6c07deae33a884eba4", "FIXED: format/1-3: reset last tab stop on a newline.", 'SWI-Prolog/swipl-devel').
  668changelog_event(format/1, modified, 80121, 1578501104, "68db1d6ab9602be575664fca86cfbd1fae753493", "MODIFIED: format/1-3: raise an exception if there are more argument than are consumed by the format.   Issue raised by Boris Vassilev on the forum.", 'SWI-Prolog/swipl-devel').
  669changelog_event(format/1, modified, 80507, 1643221596, "2936319bbdb6ddf2cfbd71e516d39eca15111f6e", "MODIFIED: format/1-3: enforce first argument to be text.  Now raises an exception if the first argument is a number, etc.", 'SWI-Prolog/swipl-devel').
  670changelog_event(format/2, added, 80501, 1634716015, "07081b25aa0ea284ed4f4f6c22504c8a5f6bcb01", "ADDED: format/2 and friends: support ``~:|``, the colon modifier for tab stops to insert a newline if the current column already passed the tab stop.", 'SWI-Prolog/swipl-devel').
  671changelog_event(format/2, added, 90315, 1731615959, "78ee87314b732f18863b2f320f9ea15987a175f6", "ADDED: format/2 specifier `~h`", 'SWI-Prolog/swipl-devel').
  672changelog_event(format/2, added, 90315, 1731755345, "f7a501b5abbcf613db464b121c51f1e0365927e4", "ADDED: format/2: support ``~:D``", 'SWI-Prolog/swipl-devel').
  673changelog_event(format/2, added, 90335, 1763029226, "85400f10a9d098ad27b101204af5432c977bae00", "ADDED: PIP-0110: format/2 format specifier ``F``.", 'SWI-Prolog/swipl-devel').
  674changelog_event(format/2, enhanced, 80500, 1632500373, "0632dce05e5f74e9a08b886f779368abf8639165", "ENHANCED: Cleanup code for format/2,3.  Allow callback's to cooperate with ansi_format/3.", 'SWI-Prolog/swipl-devel').
  675changelog_event(format/2, enhanced, 100106, 1776777964, "a7d14b4a272a00a2000af58dae94814be8939049", "ENHANCED: Make format/2 position logic aware of Unicode column logic.", 'SWI-Prolog/swipl-devel').
  676changelog_event(format/2, enhanced, 100113, 1785675056, "1404e4b5be458e304c034c1a373f2547fc99817f", "ENHANCED: format/2 column stops count display columns", 'SWI-Prolog/swipl-devel').
  677changelog_event(format/2, fixed, 80122, 1579975075, "c1399280fbc06b9e059c14910c7d683bfa5909b4", "FIXED: Missing argument in format/2 call.", 'SWI-Prolog/packages-cql').
  678changelog_event(format/2, fixed, 80501, 1634716015, "c66acbcd96cabc21e616ed9ba8acbec2dd8251e8", "FIXED: format/2 and friends: verify error when emitting _rubber_.", 'SWI-Prolog/swipl-devel').
  679changelog_event(format/2, fixed, 80502, 1635408412, "02eb3aea441e7f2c7714c2d5e60904a5a4278707", "FIXED: format/2,3: Term printing using ~[kpqw] did not propagate exception.", 'SWI-Prolog/swipl-devel').
  680changelog_event(format/2, fixed, 90000, 1668350356, "fe0a8dba9ee0430a98645e8bc7de927a7d264533", "FIXED: format/2,3: manage proper arithmetic environment for expressions.", 'SWI-Prolog/swipl-devel').
  681changelog_event(format/2, fixed, 90315, 1731754553, "39d29f2821f770282072045716eaa33d19dea260", "FIXED: format/2 handling of Unicode characters", 'SWI-Prolog/swipl-devel').
  682changelog_event(format/2, fixed, 100102, 1767626743, "3806b791a61b31f2582aa062143e754a9ac1ab9d", "FIXED: #1431 format/2: handling ``~d`` on gmp evaluation returning a small int.", 'SWI-Prolog/swipl-devel').
  683changelog_event(format/2, modified, 90335, 1763043496, "8693a94186c7aba3a45b234141f7563d7470c712", "MODIFIED: PIP-0110: format/2 using ``~N`` to ignore the argument.", 'SWI-Prolog/swipl-devel').
  684changelog_event(format/2, modified, 90335, 1763123674, "0137726d888700113887ed5f5656a612ba11fee4", "MODIFIED: format/2 handling of non-list arguments", 'SWI-Prolog/swipl-devel').
  685changelog_event(format/3, fixed, 80122, 1579791391, "ccea2a61ade80c2d8efdfaf5b221bd4605f24152", "FIXED: PlDoc rendering for source code: too many arguments for format/3.", 'SWI-Prolog/packages-pldoc').
  686changelog_event(format/3, fixed, 80311, 1603553050, "9be557d3685767f4681ad4b1f1c5b15065b47783", "FIXED: Issue#698: format/3 using \"~1r\".  David Tonhofer.", 'SWI-Prolog/swipl-devel').
  687changelog_event(format/3, fixed, 80511, 1649577759, "76fbfb329304bc9a8196999008dea0f02489ac30", "FIXED: PceEmasc __Consult selection__ command resulted in an error message wrt. format/3 and url/1 terms.", 'SWI-Prolog/packages-xpce').
  688changelog_event(format/3, fixed, 90304, 1711183700, "22cd037a5d910f547ea8aafd6c401f645b177982", "FIXED: format/3: Ensure balanced AR_BEGIN()/AR_END()", 'SWI-Prolog/swipl-devel').
  689changelog_event(format_calls/3, fixed, 90119, 1700078672, "a2fdebbd1c5ff593fabd367e9311783fc3ff72e5", "FIXED: #1205: sandbox:format_calls/3 to handle non-list format args correctly.", 'SWI-Prolog/swipl-devel').
  690changelog_event(format_predicate/2, fixed, 80309, 1601901285, "d369dced9e907c26611a4c96f9f84912dc1c9f4d", "FIXED: format_predicate/2: prints alarming messages when the letter is already defined.  Matt Lilley.", 'SWI-Prolog/swipl-devel').
  691changelog_event(format_time/3, added, 80329, 1630483481, "09a8c3ce33deed17af5c69a08d8298bf56046d58", "ADDED: format_time/3: handle `'%P'` on systems not using glibc.", 'SWI-Prolog/swipl-devel').
  692changelog_event(format_time/3, fixed, 80329, 1628522544, "e68098ba2b38d7d9597def1b4fc0a8cef1ed43cb", "FIXED: format_time/3 using date/9 term computed the weekday and year day of the UTC time rather than the local time.  Mike Elston.", 'SWI-Prolog/swipl-devel').
  693changelog_event(format_time/3, fixed, 90313, 1727708769, "d4b8911ed8b0bc54a4c6c501073f05b2ad22d141", "FIXED: Windows format_time/3 implementation for time stamps > 32 bits.", 'SWI-Prolog/swipl-devel').
  694changelog_event(format_types/2, fixed, 90121, 1701692098, "ff8c2b33dcc948da577b194841e401db40085017", "FIXED: format_types/2: error on backracking", 'SWI-Prolog/swipl-devel').
  695changelog_event(format_types/2, modified, 80122, 1579974978, "d3de177ebdec79e5c665a4be09d9e778c8ed3179", "MODIFIED: format_types/2 now throws an exception if the format is invalid.", 'SWI-Prolog/swipl-devel').
  696changelog_event(free_python_object/1, introduced, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
  697changelog_event(free_python_object/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
  698changelog_event(frozen/2, enhanced, 80307, 1598964325, "1f2f7e4c314d88ccfcedb4aec845d715f8848977", "ENHANCED: frozen/2 to avoid copying.  This not only enhances performance, but also maintains the variable identity.", 'SWI-Prolog/swipl-devel').
  699changelog_event(frozen/2, fixed, 80307, 1598948172, "d452f52413ee9d9957f4ffbcf95e6ffad8008e4e", "FIXED: frozen/2 could fail after recent enhancements.", 'SWI-Prolog/swipl-devel').
  700changelog_event(frozen/2, fixed, 80325, 1621870919, "52274a5091d85e8b42b6e70d71ea77996ef4af4b", "FIXED: frozen/2 to allow attribute_goals//1 to modify the attributes.", 'SWI-Prolog/swipl-devel').
  701changelog_event(frozen/2, fixed, 80325, 1622036366, "c536f793366d138bb09ad2d1c87f7d6dc21cfa25", "FIXED: frozen/2 leaves residual variables on backtracking.", 'SWI-Prolog/swipl-devel').
  702changelog_event(frozen/2, modified, 80307, 1598430132, "c6dfbbafec8b2fb1f801f675f16ac87f96b060d0", "MODIFIED: frozen/2 now reports any goal that is delayed on some variable inside the first argument rather than only goals delayed due to freeze/2 and only checking for a direct variable.", 'SWI-Prolog/swipl-devel').
  703changelog_event(functor/4, introduced, 80323, 1619166318, "0cacd3c1a6bbe9467c94be4a43b245ee7d857ac1", "ADDED: functor/4 to make dealing with zero-argument functors and atoms easier.  This is a result of Issue#815", 'SWI-Prolog/swipl-devel').
  704changelog_event(gc_counts/1, introduced, 80103, 1552054789, "985412404794f532c6b790b1829a68c0af5bc2f4", "ADDED: Collect statistics over most recent garbage collections, including the time spent on GC relative to useful CPU time.", 'SWI-Prolog/swipl-devel').
  705changelog_event(gen_assoc/3, fixed, 80504, 1638778493, "17d9ad0044ee93281311307cbf9a795986ae6d6a", "FIXED: gen_assoc/3.   This patch also removes the ground tests for is_assoc/1 and updates documentation.   By Peter Ludemann.", 'SWI-Prolog/swipl-devel').
  706changelog_event(get/1, fixed, 80125, 1584547768, "6bcd315cc924700a01b7565273b1a9d96511f5fe", "FIXED: ./3: (Dict.Func): allow built-in dict functions get/1, put/1 and put/2 to work on association lists.", 'SWI-Prolog/swipl-devel').
  707changelog_event(get_residual/2, fixed, 80121, 1578672686, "f7deedc709c8f6890ba6489ef02a528553e549c8", "FIXED: XSB get_residual/2: also deal with answer subsumption.", 'SWI-Prolog/swipl-devel').
  708changelog_event(get_returns/2, fixed, 80124, 1583238338, "adc03a07200c9954b7c9c4717489f1a45c3ec2cd", "FIXED: XSB library(tables), get_returns/2 to use new answer subsumption representation.", 'SWI-Prolog/swipl-devel').
  709changelog_event(get_returns_for_call/2, fixed, 80301, 1591629389, "0c8dae8ade729b26ce021a97f98541335c076a85", "FIXED: get_returns_for_call/2: module qualification", 'SWI-Prolog/swipl-devel').
  710changelog_event(get_time/1, fixed, 80118, 1575974374, "d5b59fa5e6552da2baea9e9b6651b32e4bcde6dc", "FIXED: get_time/1 for 32-bit Windows.   This is a work-around for a broken clock_gettime() in MinGW32.   Comes with a test case to ensure get_time/1 is not subject to 32/64 bit issues.", 'SWI-Prolog/swipl-devel').
  711changelog_event(getenv/2, fixed, 80513, 1655306105, "268c2849e282930711c5ab3886adae62633de5db", "FIXED: Issue#114: Windows getenv/2 may return additional garbage (typically an extra ``\\u0000`` character at the end of variables of 1023 bytes or longer because the 0-byte is not added.   Paul Singleton.", 'SWI-Prolog/swipl-devel').
  712changelog_event(getpriority/3, introduced, 80514, 1657185386, "2749a4dedd06435312cff7c51a494c0bc1f396b1", "ADDED: library(sched), providing a start at accessing the OS scheduling primitives.", 'SWI-Prolog/packages-clib').
  713changelog_event(git_branches/2, added, 90122, 1706178157, "b914b7aeb0bed9b035392a04468d7c410b5d2868", "ADDED: git_branches/2: option remote(true).", 'SWI-Prolog/swipl-devel').
  714changelog_event(git_branches/2, fixed, 90122, 1705407301, "614512d158fdfdecee8ab2a0894b083deb94f9fe", "FIXED: git_branches/2 to omit the reported detached head.", 'SWI-Prolog/swipl-devel').
  715changelog_event(git_current_branch/2, introduced, 90122, 1705407301, "30c95dfbaf51ab76e933b54cdc2fd3b52fc85ed5", "ADDED: git_current_branch/2.", 'SWI-Prolog/swipl-devel').
  716changelog_event(git_default_branch/2, enhanced, 90122, 1706178157, "7536210537a8ca638560918e86f720d0c25967ac", "ENHANCED: logic behind git_default_branch/2", 'SWI-Prolog/swipl-devel').
  717changelog_event(git_process_output/3, added, 90122, 1706178157, "c513672ba7959128d0a498616a079af9a67c758e", "ADDED: git_process_output/3: option status(-Status)", 'SWI-Prolog/swipl-devel').
  718changelog_event(git_tags/2, introduced, 90122, 1706178157, "97fd8b6cdb7cbbebc8bcf79ad9044c913f317d3d", "ADDED: git_tags/2.", 'SWI-Prolog/swipl-devel').
  719changelog_event(goal_colours/2, enhanced, 80113, 1566813565, "feee6d47ec941b1bf0311eae11c0692be87b4d42", "ENHANCED: Allow prolog_colour:goal_colours/2 to overrule builtin definitions.", 'SWI-Prolog/swipl-devel').
  720changelog_event(goal_expansion/2, enhanced, 80103, 1551782809, "8c548785db62dc969e6cc719faa61a6b4a4c9a08", "ENHANCED: Allow goal_expansion/2,4 to wrap a goal.", 'SWI-Prolog/swipl-devel').
  721changelog_event(goal_expansion/2, enhanced, 80103, 1551783702, "b9602cd96519a039c9ab35a7cdb0834054c31434", "ENHANCED: goal_expansion/2: when wrapping a goal, do allow the same expansion to work on arguments.", 'SWI-Prolog/swipl-devel').
  722changelog_event(goal_expansion/2, enhanced, 80322, 1617641807, "93eaa6649bde0cebe81b926087942489f89f99c9", "ENHANCED: Handle `$/1` as control structure for goal_expansion/2 such that var_property/2 is correct.", 'SWI-Prolog/swipl-devel').
  723changelog_event(goal_expansion/2, enhanced, 80324, 1619969630, "1f97e8d6cb73d6dda77410f9f0c417c81b903843", "ENHANCED: Issue#825: Error handling when goal_expansion/2 binds a variable in `\\+/1` or `;/2`.", 'SWI-Prolog/swipl-devel').
  724changelog_event(goal_expansion/2, fixed, 80321, 1615377164, "528c151094365344d855485586bd2a942926cbfa", "FIXED: goal_expansion/2 for => rules.  Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
  725changelog_event(goal_expansion/2, fixed, 80321, 1615799871, "d6ef6a11a8d5a497de3fc3e613087c7804b707f4", "FIXED: goal_expansion/2 on the guard for an SSU rule `head, guard => body`. Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
  726changelog_event(gtrap/1, fixed, 80329, 1630411518, "bb90b9c803cd84faa486b56613d9e447ecc408a1", "FIXED: gtrap/1 is not a meta-predicate.", 'SWI-Prolog/packages-xpce').
  727changelog_event(gtrap/1, introduced, 80329, 1628679354, "d6bdd7b25b52ba5fa27cbd604c39c36209bf894b", "ADDED: gtrap/1 to call trap/1 with the graphical debugger.", 'SWI-Prolog/packages-xpce').
  728changelog_event(gxref/0, enhanced, 90326, 1751720317, "0a0c37cd8351bee74ff4b0cdd5f11e4b801b749f", "ENHANCED: gxref/0: do the heavy work in a background thread.", 'SWI-Prolog/packages-xpce').
  729changelog_event(gxref/0, fixed, 80108, 1559751000, "28fed4990acaec08dc7c100dd6f9053cd72f60a8", "FIXED: Issue#464: gxref/0: ignore files that do not exist.  Paulo Moura.", 'SWI-Prolog/packages-xpce').
  730changelog_event(gxref/0, fixed, 80518, 1664875064, "34868d7e31a811e7c312b739af3c62408dc00c69", "FIXED: gxref/0: edit predicate on click to properly handling included files.", 'SWI-Prolog/packages-xpce').
  731changelog_event(gxref_called/2, added, 80518, 1664883516, "7f168866bbf96bfce340639c69afd6e24370c124", "ADDED: pce_xref_gui:gxref_called/2 hook into gxref/0 to allow silencing predicates that are called by means of hooks or some other mechanism.", 'SWI-Prolog/packages-xpce').
  732changelog_event(halt/0, fixed, 90313, 1727957062, "05d1b8b45e267ca43d0d78734422f470c104fffc", "FIXED: Avoid error message when calling halt/0,1 from ``-g`` goals.", 'SWI-Prolog/swipl-devel').
  733changelog_event(halt/0, fixed, 90332, 1758705917, "94a45df1d0fed88b5a518de9be749cf737749864", "FIXED: When a REPL loop receives the halt/0,1 exception, make it return.", 'SWI-Prolog/swipl-devel').
  734changelog_event(halt/1, added, 90105, 1675936565, "302bb8a4f44df0476972bdacfec8ae371da1bd50", "ADDED: halt/1 to accept signal names as status code.  This causes an exit with status 128+signum.", 'SWI-Prolog/swipl-devel').
  735changelog_event(halt/1, enhanced, 90313, 1727896536, "9d517567f75dc0a8e87d885354b0b2d9e723df46", "ENHANCED: halt/1: use the unwind(halt(Status)) if possible.", 'SWI-Prolog/swipl-devel').
  736changelog_event(halt/1, fixed, 90314, 1728999234, "1a8482417ad7db60588d79b0d3b5b0be06f75ac1", "FIXED: Flush pending output on halt/1.", 'SWI-Prolog/swipl-devel').
  737changelog_event(halt/1, modified, 80109, 1560950718, "f4526a6d7a1581c03d63d9e52899831235afdec2", "MODIFIED: halt/1 accepts 'abort' arg to terminate Prolog via abort(). Fatal+system errors now terminate Prolog using abort() instead of exit().", 'SWI-Prolog/swipl-devel').
  738changelog_event(halt/1, modified, 90334, 1762178313, "2093ee5566b66c04ebd7f16560b42f672331bdc2", "MODIFIED: halt/1: forward to main thread.", 'SWI-Prolog/swipl-devel').
  739changelog_event(head_name_arity/3, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
  740changelog_event(help/1, added, 80518, 1664870187, "21a1b8d199ace53952fa78f07b51bf19aa3f6908", "ADDED: Allow help/1 on user predicates.  Contributed by @swi", 'SWI-Prolog/swipl-devel').
  741changelog_event(help/1, added, 90303, 1710346730, "20217f19c0d6214aed523c12422ab51e9f5b0cc0", "ADDED: help/1: give help on a specific user predicate using Module:PI.", 'SWI-Prolog/swipl-devel').
  742changelog_event(help/1, added, 100113, 1786029102, "fe0fa1c446b8370610d8132c259273ffc715cce7", "ADDED: help/1: make the manual hyperlinks in the output work", 'SWI-Prolog/swipl-devel').
  743changelog_event(help/1, enhanced, 90118, 1697640542, "e00390b25d89ddab9940ec98fdc7dc3a8b854912", "ENHANCED: help/1: keep track of modules for user predicates", 'SWI-Prolog/swipl-devel').
  744changelog_event(help/1, enhanced, 90303, 1710346399, "3347d6e219b125909186fc602327ad1d36e87c4f", "ENHANCED: help/1: filter user predicates on the module class.", 'SWI-Prolog/swipl-devel').
  745changelog_event(help/1, enhanced, 100101, 1766655230, "52c85c11ab6fd50b6ad525ebc982f0a39e69b732", "ENHANCED: Only display output from help/1 in GUI when invoked from the gui.", 'SWI-Prolog/packages-xpce').
  746changelog_event(help/1, fixed, 80130, 1588260294, "9a10292d368bc8255cc78a13b577ac7399e8b0f8", "FIXED: help/1 to produce valid html (missing <dl> around generated discriptions).", 'SWI-Prolog/swipl-devel').
  747changelog_event(help/1, fixed, 80310, 1602665570, "4940121bdb7a70eec1ccb6546e4bc87672335b8a", "FIXED: help/1: avoid ``ERROR: http_handler_id `pldoc_man' does not exist`` on certain pages.", 'SWI-Prolog/packages-pldoc').
  748changelog_event(help/1, fixed, 80518, 1665045688, "78e0787a2ba033d259f432da13de9fffa017ca28", "FIXED: help/1 for normal built-in predicates (broke after support for user predicates).   Patch by @swi.", 'SWI-Prolog/swipl-devel').
  749changelog_event(help/1, fixed, 80519, 1665561201, "d0afeed46be47dca66bcf30a40ae5333144f0fc7", "FIXED: help/1: avoid problems with modules that are also section labels. @swi.", 'SWI-Prolog/swipl-devel').
  750changelog_event(help/1, fixed, 90303, 1710261759, "375d7ef82f2df73d035a4806e74e644eb7c5c5ad", "FIXED: help/1 to deal with help on public predicates in included files.", 'SWI-Prolog/swipl-devel').
  751changelog_event(help/1, fixed, 100107, 1778436884, "36908892afafe80f18371fceb723c0b792caf2b0", "FIXED: help/1: tell SGML parser the manual is UTF-8", 'SWI-Prolog/packages-pldoc').
  752changelog_event(help/1, fixed, 100113, 1785939553, "02ee2e961e39f40bd312bb201a1e924c0c62a14c", "FIXED: Windows: quitting the pager of help/1 left the screen cleared", 'SWI-Prolog/swipl-devel').
  753changelog_event(help/1, fixed, 100113, 1785939553, "91882a455ed2d2dd423be12e213589030b7897db", "FIXED: help/1: find pager on OSes that use extensions for executables.", 'SWI-Prolog/swipl-devel').
  754changelog_event(help_apropos/4, introduced, 100111, 1782565529, "1a3bad3ecb9a92ec564300d6eb10d12b7e5e9619", "ADDED: help_apropos/4, providing access to the apropos database.", 'SWI-Prolog/swipl-devel').
  755changelog_event(host_address/3, introduced, 90105, 1675697395, "375cec0b462711ff529f8b4d4ee81fd6250e569c", "ADDED: host_address/3.", 'SWI-Prolog/packages-clib').
  756changelog_event(ht_del/3, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  757changelog_event(ht_gen/3, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  758changelog_event(ht_get/3, fixed, 80305, 1595492509, "3785a95912ff6cdafaf1f791f50575fbab9c43f1", "FIXED: ht_get/3 on an empty hash table.", 'SWI-Prolog/swipl-devel').
  759changelog_event(ht_get/3, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  760changelog_event(ht_is_hashtable/1, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  761changelog_event(ht_new/1, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  762changelog_event(ht_pairs/2, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  763changelog_event(ht_put/3, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  764changelog_event(ht_put/5, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  765changelog_event(ht_put_new/3, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  766changelog_event(ht_size/2, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  767changelog_event(ht_update/4, introduced, 80304, 1594904254, "66a3d36f509729fa2d9a3ed5300edb0643ba877c", "ADDED: library(hashtable): mutable and backtrackable hash table in Prolog.", 'SWI-Prolog/swipl-devel').
  768changelog_event(html_header_hook/1, added, 80403, 1654105211, "839f16d23288dede7a88b737c5d584f5324e4259", "ADDED: Hook html_write:html_header_hook/1 to emit additional HTTP headers for HTML pages.", 'SWI-Prolog/packages-http').
  769changelog_event(html_text/2, added, 100113, 1785939553, "287516c33caef343937ffe15e01541c4c28ce804", "ADDED: html_text/2: pass hyperlinks through.", 'SWI-Prolog/swipl-devel').
  770changelog_event(http_absolute_uri/2, enhanced, 90103, 1673020115, "e47ff186213bf2f75eeeb25c680adda081d183b9", "ENHANCED: http_absolute_uri/2 to use the setting `http:public_scheme` or the port to find the scheme (`http` or `https`)", 'SWI-Prolog/packages-http').
  771changelog_event(http_chunked_add_trailer/3, introduced, 90111, 1685606764, "8aefee4c1f0b0177a338c56515ce230344355d10", "ADDED: http_is_chunked/1, http_chunked_add_trailer/3 and http_chunked_flush/2.", 'SWI-Prolog/packages-http').
  772changelog_event(http_chunked_flush/2, introduced, 90111, 1685606764, "8aefee4c1f0b0177a338c56515ce230344355d10", "ADDED: http_is_chunked/1, http_chunked_add_trailer/3 and http_chunked_flush/2.", 'SWI-Prolog/packages-http').
  773changelog_event(http_daemon/0, fixed, 90322, 1742475332, "127a094a312ead24594512cf726c464a4b9ebdd3", "FIXED: #168 http_daemon/0,1: exit with status 0", 'SWI-Prolog/packages-http').
  774changelog_event(http_handler/3, added, 80101, 1548360336, "d06c9eba7aa344c9f8ee9f72653f6f239c10ac03", "ADDED: Simplify generating a URL that refers to a REST location declared using a path pattern in http_handler/3.  This affects http_location_by_id/2, http_link_to_id/3, http_redirect/3 and attribute value notation used by library(http/html_write).", 'SWI-Prolog/packages-http').
  775changelog_event(http_handler/3, modified, 80101, 1548343761, "b6ae70ff3288d4fccb7219d3c84c2267ee5dd38a", "MODIFIED: http_handler/3: force `Id` in `id(Id)` to be an atom.  Previous versions accepted any Prolog term.  This provides for extending http_location_by_id/2 to become more REST friendly.", 'SWI-Prolog/packages-http').
  776changelog_event(http_is_chunked/1, introduced, 90111, 1685606764, "8aefee4c1f0b0177a338c56515ce230344355d10", "ADDED: http_is_chunked/1, http_chunked_add_trailer/3 and http_chunked_flush/2.", 'SWI-Prolog/packages-http').
  777changelog_event(http_open/3, added, 80312, 1605270912, "cedbb4fda493193af55a1a7a92ce94106ad4945f", "ADDED: http_open/3 to accept unix_socket(+Socket).", 'SWI-Prolog/packages-http').
  778changelog_event(http_open/3, added, 80512, 1652700690, "b9601c4d707ffcfc31e7dbe9fd6a712d14027ded", "ADDED: http_open/3: option raw_headers(-Strings) to get access to the unparsed HTTP header as a list of strings.", 'SWI-Prolog/packages-http').
  779changelog_event(http_open/3, added, 80512, 1652700892, "48388067260d73e935ca3b2aa908569399ae9936", "ADDED: http_open/3: option raw_encoding(+Encoding) to prevent deconding certain (transfer) encodings.", 'SWI-Prolog/packages-http').
  780changelog_event(http_open/3, added, 90105, 1676040506, "6b77a389cc62255a50135ba802cbdb4a0699aaa4", "ADDED: http_open/3 using the headers(-Reply) option to add status_code(Code) to the headers.", 'SWI-Prolog/packages-http').
  781changelog_event(http_open/3, enhanced, 80125, 1583432746, "b081261088eb320f71e27747d42638ae97f9fb9d", "ENHANCED: http_open/3 to autoload library(gzip) if the content encoding is `gzip`.", 'SWI-Prolog/packages-http').
  782changelog_event(http_open/3, enhanced, 90111, 1685606764, "ec3b24bea0c206bad521d9dff647caa3e458a5d4", "ENHANCED: http_open/3: add lazy loading of chunked encoding support.", 'SWI-Prolog/packages-http').
  783changelog_event(http_open/3, fixed, 80124, 1583072449, "78ef67d1c674e725ead0063cc394bc48b9ddbd23", "FIXED: http_open/3 undefined http_header:http_post_data/3 for POST requests.", 'SWI-Prolog/packages-http').
  784changelog_event(http_open/3, fixed, 90110, 1683014410, "3040c654f8f8f889084818e6359b8b01340bba4e", "FIXED: http_open/3 with keep-alive connections", 'SWI-Prolog/packages-http').
  785changelog_event(http_open/3, fixed, 90201, 1707927808, "e832bfbd8a69cc950a87e7ec5376c293d2abae00", "FIXED: http_open/3: reconnect a Keep-alive connection if we read an empty header.", 'SWI-Prolog/packages-http').
  786changelog_event(http_open/3, fixed, 90201, 1707927942, "1e70298fb9ee14dc1c2cfb6663c47f84c83ed838", "FIXED: http_open/3: avoid TSL handshake error when reading data", 'SWI-Prolog/packages-http').
  787changelog_event(http_open/3, fixed, 90310, 1724139257, "f35adc34d937db68902132219d000f45d80224ac", "FIXED: http_open/3 using Keep-alive", 'SWI-Prolog/packages-http').
  788changelog_event(http_open/3, fixed, 90310, 1724225094, "67e91c28f24fadd52d0e4610aa32bbfeae174393", "FIXED: http_open/3 using keep-alive connections", 'SWI-Prolog/packages-http').
  789changelog_event(http_open/3, fixed, 90325, 1745937609, "a5780fba3b94d0ea826dec6344616ca9534d1db7", "FIXED: http_open/3: only catch error(Formal, Context).", 'SWI-Prolog/packages-http').
  790changelog_event(http_open/3, fixed, 90325, 1746200467, "0b5ffd4fe1791d9eaf30f1bb13eb91b35154079a", "FIXED: http_open/3: when applying a transfer filter, do not close the output", 'SWI-Prolog/packages-http').
  791changelog_event(http_open/3, modified, 80121, 1578323676, "0042e9d63bc1828cce29d1d7bba5b1a152eb7664", "MODIFIED: http_open/3: map cacerts_file(File) to cacerts options.", 'SWI-Prolog/packages-http').
  792changelog_event(http_open_websocket/3, fixed, 80319, 1612686521, "c89a90cec705c2b71fbfec501b4c6a726541b27f", "FIXED: predicate option declaration for http_open_websocket/3: corrected pass-through to http_open/3.", 'SWI-Prolog/packages-http').
  793changelog_event(http_parse_header_value/3, added, 90313, 1727682149, "081f2660460af702d0ebdb75ec5f69ed3bbd149d", "ADDED: http_parse_header_value/3: support `expires`", 'SWI-Prolog/packages-http').
  794changelog_event(http_post_data/3, added, 80512, 1652689110, "2c7b1154a9b5cad2d8e2d3b9ed97311caab7e94d", "ADDED: http_post_data/3: support string(String) and string(Type, String) simlar to atom(String) and atom(Type, String).  Avoids creating a potentially large garbage atom.", 'SWI-Prolog/packages-http').
  795changelog_event(http_post_data/3, enhanced, 100102, 1769353747, "238e211ed9372f8dd1a6a7f97f5a3f9cbb1d4a3b", "ENHANCED: http_post_data/3 to raise an exception if the data is not recognised.", 'SWI-Prolog/packages-http').
  796changelog_event(http_process/4, fixed, 80120, 1576617566, "3e4d6e2099ae9a949595241305115148c642897d", "FIXED: Avoid goal_failed(http_process/4 messages, possible if sending the main message results in a broken pipe error.", 'SWI-Prolog/packages-http').
  797changelog_event(http_read_data/3, added, 100100, 1765878122, "80d1943dd643b81899e2e39462175fed526fd68e", "ADDED: Extended predicate option declaration for http_read_data/3", 'SWI-Prolog/packages-http').
  798changelog_event(http_read_data/3, enhanced, 90302, 1709116081, "4dcdd999fe66bf95de3f73afc7dd68039d696fa1", "ENHANCED: http_read_data/3: map syntax errors to status 400", 'SWI-Prolog/packages-http').
  799changelog_event(http_read_data/4, added, 80501, 1634024595, "9bfa494b523685d23722c2a0b7739a6a93d04b8e", "ADDED: http_read_data/4: handle the input_encoding/1 option when using to(Type).", 'SWI-Prolog/packages-http').
  800changelog_event(http_reply_dirindex/3, added, 80116, 1573313090, "f63ef81a06f8d5fc4fce04def2a7dfc728fbf411", "ADDED: http_reply_dirindex/3 and directory_index/2: option name(Callable) to hook the name cell creation.", 'SWI-Prolog/packages-http').
  801changelog_event(http_reply_file/3, fixed, 90313, 1727870273, "638e76ffa4a22e9e13788ed9921b304b4b188913", "FIXED: http_reply_file/3: be more tolerant about if-modified-since", 'SWI-Prolog/packages-http').
  802changelog_event(http_reply_from_files/3, added, 90306, 1715516738, "b21fa807bd3cd4fe93f2381bf71088f362e59a8e", "ADDED: http_reply_from_files/3: option not_found(+Action)", 'SWI-Prolog/packages-http').
  803changelog_event(http_reply_from_files/3, fixed, 80309, 1601321275, "a50ad83e58d7e9d4089336442b2e45cbf73c010c", "FIXED: Issue#142: http_reply_from_files/3: Return 301 Moved Permanently on directories without trailing /", 'SWI-Prolog/packages-http').
  804changelog_event(http_server/1, added, 80312, 1605270887, "1da608a12443b5610998c663073956b98ea2b8da", "ADDED: http_server/1,2: allow binding to a Unix domain socket.", 'SWI-Prolog/packages-http').
  805changelog_event(http_server/2, added, 90105, 1675767190, "060de36aab00da93a30bc0ffc6b015511d655c9b", "ADDED: http_server/2 to allow creating IPv6 sockets.", 'SWI-Prolog/packages-http').
  806changelog_event(http_set_session_options/1, enhanced, 90201, 1707383791, "465b6b89d3db14ddcf0e79e6a3c1a0bede616245", "ENHANCED: Type checking in http_set_session_options/1.", 'SWI-Prolog/packages-http').
  807changelog_event(http_stop_server/2, enhanced, 90119, 1699543082, "d86f9b6424ef8136efe0aa04930c5d1e5f03ad8c", "ENHANCED: http_stop_server/2: try to avoid connecting", 'SWI-Prolog/packages-http').
  808changelog_event(http_stop_server/2, fixed, 80509, 1646735440, "5a25f667662df53dd52bb857c5bcac38f891e2ef", "FIXED: http_stop_server/2 to avoid leaking socket handles for connections accepted during shutdown.", 'SWI-Prolog/packages-http').
  809changelog_event(http_time_stamp/2, fixed, 90325, 1749828104, "5af930e45b1c1c45022cd23a02d0c437c2797090", "FIXED: http_time_stamp/2 in mode (-,_+).", 'SWI-Prolog/packages-http').
  810changelog_event(http_timestamp/2, added, 90313, 1727605071, "d42ec95cbbfe4bdf732aa808f7200ecf908e0b45", "ADDED: http_timestamp/2: support mode (-,+), i.e., parsing", 'SWI-Prolog/packages-http').
  811changelog_event(http_timestamp/2, fixed, 90313, 1727870051, "f75a0e715d7c427cc270032491947dd711057431", "FIXED: Steadfastness of http_timestamp/2", 'SWI-Prolog/packages-http').
  812changelog_event(http_upgrade_to_websocket/3, enhanced, 90303, 1709891994, "98d4c881489f522ea8480f8c7e69ffe515b14e5c", "ENHANCED: http_upgrade_to_websocket/3: discard a websocket on failure.", 'SWI-Prolog/packages-http').
  813changelog_event(http_workers/2, added, 90303, 1709717644, "c9dabeef1fd4f688bba46dc5c5489f8cc2b662a5", "ADDED: http_workers/2: mode (?,-) (was (+,-))", 'SWI-Prolog/packages-http').
  814changelog_event(hub_member/2, added, 80129, 1587493719, "f90cfed69c8473cf7051f0fd4189578ffe0bed45", "ADDED: hub_member/2 to library(http/hub).", 'SWI-Prolog/packages-http').
  815changelog_event(hyperlink/2, added, 80504, 1639416429, "4bcde3e390bde5b949f611f6c9b72371f6dba47e", "ADDED: ansi_term:hyperlink/2 as a hook to adding hyperlinks.", 'SWI-Prolog/swipl-devel').
  816changelog_event(in_set/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  817changelog_event(in_temporary_module/3, fixed, 80101, 1548255140, "328e383e0f4fa8d803cdcd5a5afc2206feebbafb", "FIXED: in_temporary_module/3: destroy the load context for files loaded into this module.", 'SWI-Prolog/swipl-devel').
  818changelog_event(in_temporary_module/3, fixed, 80122, 1580646088, "ccbeaa8b554a4c0a1626f1259d83e640ffee03e2", "FIXED: in_temporary_module/3: avoid possible races.", 'SWI-Prolog/swipl-devel').
  819changelog_event(include/1, fixed, 80504, 1638436133, "a856c18325b51dd1e4337a3f4b70610af33a02a2", "FIXED: Allow include/1 to include tests between begin_tests/1 and end_tests/1. This patch is incomplete because failing tests are reported with the source line of he included file but the file name of the main file.", 'SWI-Prolog/packages-plunit').
  820changelog_event(include/1, fixed, 90120, 1700582860, "d1551973a1b25a13509a68fe20f22e61501a7053", "FIXED: Conditional compilation and :- include/1.", 'SWI-Prolog/swipl-devel').
  821changelog_event(include_macros/3, introduced, 90111, 1684956064, "444218409e4c4f31e2d763ee32798c73ab4a15b8", "ADDED: library(macros)", 'SWI-Prolog/swipl-devel').
  822changelog_event(incr_invalidate_answer/1, introduced, 80324, 1620240957, "3f5e324c68aa1ead63f0d60bedca4236355f62a1", "ADDED: incr_propagate_answer/1 and incr_invalidate_answer/1.", 'SWI-Prolog/swipl-devel').
  823changelog_event(incr_invalidate_calls/1, fixed, 80514, 1656063906, "ffd8d1fd2dd9777b3eb7fd6d50d24157a25dcabe", "FIXED: incr_invalidate_calls/1: succeed if no tabling happened in the calling thread yet (and thus there is no variant table).", 'SWI-Prolog/swipl-devel').
  824changelog_event(incr_propagate_answer/1, introduced, 80324, 1620240957, "3f5e324c68aa1ead63f0d60bedca4236355f62a1", "ADDED: incr_propagate_answer/1 and incr_invalidate_answer/1.", 'SWI-Prolog/swipl-devel').
  825changelog_event(incr_propagate_answer/1, modified, 80324, 1620299380, "287f8b71d8b8bcadcf461b671664b381f79e882e", "MODIFIED: Renamed incr_propagate_answer/1 to incr_propagate_calls/1.  Removed incr_invalidate_answer/1 (is incr_invalidate_calls/1).", 'SWI-Prolog/swipl-devel').
  826changelog_event((initialization)/1, enhanced, 100105, 1772361079, "9fec1e7b50701129f0ee0e32e4d2eb21b80ad6fe", "ENHANCED: Message when running the toplevel using initialization/1.", 'SWI-Prolog/swipl-devel').
  827changelog_event(install_pack/1, enhanced, 90312, 1726991817, "b046ef27261e33c3216fdb7e3ca337cdc19f10b5", "ENHANCED: install_pack/1,2 to prefer https over http for downloading.", 'SWI-Prolog/swipl-devel').
  828changelog_event(instance/2, fixed, 80321, 1615810761, "36844248fb9c3e63922d278e2a1475a7f952e97e", "FIXED: instance/2 to handle single sided unification rules.   Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
  829changelog_event(int32_codes/2, introduced, 80323, 1619194933, "2c79244f3584c70cfc373e09b91ed8c1d326bb9c", "ADDED: protobuf_segment_message/2 and export the low-level conversion predicates", 'SWI-Prolog/contrib-protobufs').
  830changelog_event(int32_float32/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
  831changelog_event(int64_codes/2, introduced, 80323, 1619194933, "2c79244f3584c70cfc373e09b91ed8c1d326bb9c", "ADDED: protobuf_segment_message/2 and export the low-level conversion predicates", 'SWI-Prolog/contrib-protobufs').
  832changelog_event(int64_float64/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
  833changelog_event(int64_zigzag/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
  834changelog_event(integer_zigzag/2, introduced, 80323, 1619194933, "2c79244f3584c70cfc373e09b91ed8c1d326bb9c", "ADDED: protobuf_segment_message/2 and export the low-level conversion predicates", 'SWI-Prolog/contrib-protobufs').
  835changelog_event(interactor/0, enhanced, 90326, 1751914379, "19f18da1a47397b82b951c2abc2f68b52533d2e2", "ENHANCED: interactor/0,1: use epilog when available.", 'SWI-Prolog/swipl-devel').
  836changelog_event(interactor/0, modified, 90312, 1727293480, "a5a043ba5b40d17bd23668d4c4d2e80c20cf7653", "MODIFIED: interactor/0,1 to run thread in normal mode.", 'SWI-Prolog/swipl-devel').
  837changelog_event(intercept/3, introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
  838changelog_event(intercept/4, introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
  839changelog_event(intercept_all/4, introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
  840changelog_event(ip_name/2, fixed, 90105, 1675767139, "09387534636aaa1d1fa06194d5b09231b5fee1b5", "FIXED: ip_name/2 for `::1`.", 'SWI-Prolog/packages-clib').
  841changelog_event(ip_name/2, introduced, 90105, 1675697395, "ec8433e56c7976471eeaf88653a6f791c49d19a8", "ADDED: ip_name/2 to translate between string and ip address structure.", 'SWI-Prolog/packages-clib').
  842changelog_event((is)/2, fixed, 80122, 1580587385, "3107dbeffcc75000cb46cdd924b7f4cadb85dbf0", "FIXED: is/2 on instantiated rational, e.g. `1/3 is 1/3.`", 'SWI-Prolog/swipl-devel').
  843changelog_event((is)/2, fixed, 80306, 1597849412, "7b45436b0180a1de3357a966def06cfe63a9662d", "FIXED: is/2 using optimised arithmetic with a float value while the left side is instantiated to a float can exit Prolog (unintended `return`).", 'SWI-Prolog/swipl-devel').
  844changelog_event((is)/2, fixed, 100113, 1785766883, "3837668b47a3edb0dccf6fb8861b3c9edd20a5b6", "FIXED: is/2: `2^2147483648` and larger on Windows.", 'SWI-Prolog/swipl-devel').
  845changelog_event((is)/2, modified, 80122, 1581689320, "c57d46f44ba8ef04aad5eeca53497662b36ba941", "MODIFIED: is/2 to unify the first argument instead of using arithmetic equality if the left argument is instantiated.", 'SWI-Prolog/swipl-devel').
  846changelog_event(is_absolute_file_name/1, fixed, 90112, 1690369787, "a79eabb10cb178d2f399d43b7b4f4f354e38a68b", "FIXED: is_absolute_file_name/1 and canonicalization on Windows", 'SWI-Prolog/swipl-devel').
  847changelog_event(is_control_goal/1, introduced, 80124, 1582650008, "0d76e37370df348a159c4d08b3839aecc549ffa3", "ADDED: library(prolog_code): is_control_goal/1.", 'SWI-Prolog/swipl-devel').
  848changelog_event(is_fdset/1, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  849changelog_event(is_git_directory/1, fixed, 80316, 1608025272, "0f28f1906504f43dc3afbb181ea94807aefb888a", "FIXED: is_git_directory/1 for submodules.", 'SWI-Prolog/swipl-devel').
  850changelog_event(is_git_directory/1, fixed, 80316, 1608026549, "3fc8dcf560cf7c32a7f59b4e1a97e315e0281b7a", "FIXED: is_git_directory/1 for submodules.", 'SWI-Prolog/swipl-devel').
  851changelog_event(is_git_hash/1, introduced, 90122, 1705236668, "bb6eb430bc25364d140f95fa7c95a3d2c6802a1f", "ADDED: library(git): is_git_hash/1.", 'SWI-Prolog/swipl-devel').
  852changelog_event(is_lambda/1, fixed, 80108, 1559840241, "8d3703b5f9dbb7d1a844fa3b0bf44f3a5d3968fa", "FIXED: Issue#478: is_lambda/1 failed on valid yall lambda expressions. Fix by Paulo Moura.", 'SWI-Prolog/swipl-devel').
  853changelog_event(is_message_queue/1, introduced, 90312, 1727353442, "1a2e2098b42a7ee6e2d212cd1e9b8f7bcffc54be", "ADDED: is_message_queue/1 to test the existence of a message queue.", 'SWI-Prolog/swipl-devel').
  854changelog_event(is_most_general_term/1, fixed, 80117, 1574087516, "b54a1b15df69f495aa9b16a148094b648d8813c0", "FIXED: is_most_general_term/1: failed to clear marks, causing invalid data.", 'SWI-Prolog/swipl-devel').
  855changelog_event(is_most_general_term/1, introduced, 80113, 1566723340, "4466b3b248f6a880a945eca3567e4db660a999dc", "ADDED: is_most_general_term/1.  Compatibility with XSB", 'SWI-Prolog/swipl-devel').
  856changelog_event(is_predicate_indicator/1, introduced, 80306, 1597849412, "5b2f4a107e2922ba027dcace263ec84321a7dc1a", "ADDED: library(prolog_code): is_predicate_indicator/1.", 'SWI-Prolog/swipl-devel').
  857changelog_event(is_stream/1, fixed, 100111, 1782384992, "b26aa450333e023d59a0cf279e85525a34a4fab6", "FIXED: is_stream/1: crash when querying a standard stream alias whose slot is NULL.", 'SWI-Prolog/swipl-devel').
  858changelog_event(is_uuid/1, introduced, 90310, 1724398907, "ff75b58ec6bf8085ac5f052a278ab170d9147cba", "ADDED: is_uuid/1 to test that an atom is a valid UUID", 'SWI-Prolog/packages-clib').
  859changelog_event(issues/93, fixed, 80122, 1580657449, "fcb248691ca8e8a8bf074d5eae2eb2d68a548f60", "FIXED: the bug in issue https://github.com/SWI-Prolog/issues/issues/93 and in issue https://github.com/SWI-Prolog/issues/issues/63", 'SWI-Prolog/packages-clpqr').
  860changelog_event(isub/4, added, 80323, 1619595861, "9bb825817e89b261946c95f8bec57f6ce2a5898f", "ADDED: isub/4 mode isub(+Text1, +Text2, -Simularity, +Options) by @swi.", 'SWI-Prolog/packages-nlp').
  861changelog_event(isub_short/4, introduced, 80323, 1618991070, "7d599a02d4d8138518c338a21a778adb14422913", "ADDED: isub_short/4 by @swi.  Provided isub/4 simularity matching to also deal with short strings.", 'SWI-Prolog/packages-nlp').
  862changelog_event(items/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
  863changelog_event(jiti_list/0, enhanced, 90325, 1746093066, "b1cfb6cd485c681c0cee0f73c3cb8f6128a70c48", "ENHANCED: jiti_list/0,1", 'SWI-Prolog/swipl-devel').
  864changelog_event(jiti_suggest_modes/0, introduced, 90319, 1737540031, "393f982c34807b68cf8e6c8d5d30cef0959710d1", "ADDED: jiti_suggest_modes/0,1", 'SWI-Prolog/swipl-devel').
  865changelog_event(jiti_suggest_modes/1, introduced, 90319, 1737540031, "393f982c34807b68cf8e6c8d5d30cef0959710d1", "ADDED: jiti_suggest_modes/0,1", 'SWI-Prolog/swipl-devel').
  866changelog_event(js_yield/2, added, 80517, 1663149213, "ca2a8bd002fb7fc0571b357295e3b812c3586ab6", "ADDED: js_yield/2 may be passed a promise, causing Prolog to wakeup when the promise is resolved.", 'SWI-Prolog/swipl-devel').
  867changelog_event(js_yield/2, modified, 80517, 1663577935, "299b447715c4d1deefab2de64f77e8bc7fb6e09a", "MODIFIED: WASM: Renamed js_yield/2 to await/2 and js_can_yield/2 to is_async/2.", 'SWI-Prolog/swipl-devel').
  868changelog_event(json/4, introduced, 90332, 1759146643, "c1a87e7f2553a3449a15e1145e013aca5a2d0888", "ADDED: json quasiquotation syntax", 'SWI-Prolog/packages-http').
  869changelog_event(json_batch/5, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  870changelog_event(json_call/3, added, 100100, 1765289996, "63ca2a122aba5aa015e41eb9c12327720641b87a", "ADDED: json_call/3 option `async(true)`", 'SWI-Prolog/packages-json').
  871changelog_event(json_call/4, added, 100101, 1767024836, "9a96e9da76c0debfbc9b9ad970ccf3c5d29aff6a", "ADDED: json_call/4: option async(:Goal)", 'SWI-Prolog/packages-json').
  872changelog_event(json_call/4, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  873changelog_event(json_call/4, modified, 90336, 1764171516, "baed730334c2b1a52fda8bd443f2a8eb70d2499e", "MODIFIED: Calling conventions for json_call/4 and json_notify/3.", 'SWI-Prolog/packages-json').
  874changelog_event(json_check/3, introduced, 90335, 1762788086, "d82730d7d232e32a7b08dedbbeca5af7155e0a89", "ADDED: library(json_schema) to provide checking JSON schema.", 'SWI-Prolog/packages-json').
  875changelog_event(json_compile_schema/3, introduced, 90335, 1762788086, "d82730d7d232e32a7b08dedbbeca5af7155e0a89", "ADDED: library(json_schema) to provide checking JSON schema.", 'SWI-Prolog/packages-json').
  876changelog_event(json_dict_pairs/2, added, 80501, 1635177698, "c851ee9c5ecf6061c14c17545b62a02945311097", "ADDED: JSON writer for dicts now have a hook json_dict_pairs/2 that allows the user to select keys from the dict and particularly define the order of keys in the resulting JSON.", 'SWI-Prolog/packages-http').
  877changelog_event(json_full_duplex/2, introduced, 90336, 1764498342, "5cb0bc3742d7407b025a67b96a50def4170fff7b", "ADDED: Allow a JSON RPC client to also act as server on the same connection.", 'SWI-Prolog/packages-json').
  878changelog_event(json_method/1, fixed, 100101, 1767022540, "c7d7f26544e3a2fef84b8cc2c515d756def2de39", "FIXED: json_method/1: Avoid discontiguous messages", 'SWI-Prolog/packages-json').
  879changelog_event(json_method/1, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  880changelog_event(json_notify/3, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  881changelog_event(json_notify/3, modified, 90336, 1764171516, "baed730334c2b1a52fda8bd443f2a8eb70d2499e", "MODIFIED: Calling conventions for json_call/4 and json_notify/3.", 'SWI-Prolog/packages-json').
  882changelog_event(json_read/2, enhanced, 80125, 1583432803, "0947173dba7315c891cf1bb04f52aba7499530e4", "ENHANCED: json_read/2,3 and json_read_dict/2,3: if the input stream is binary switch it to use UTF-8 encoding for reading the dict.", 'SWI-Prolog/packages-http').
  883changelog_event(json_read/3, added, 80101, 1548409725, "d7daf61d8efd1b4f1819e2424ba6e1efb899bd81", "ADDED: json_read/3 and friends, option end_of_file(+Action), where `Action` is either the atom `error`, throwing a syntax error or any other term, returning this term if the end of the input is encountered after skipping white space but before any data.", 'SWI-Prolog/packages-http').
  884changelog_event(json_read/3, modified, 80101, 1548413026, "61b105b342268716bce9615dd5cbdfa0609207df", "MODIFIED: Issue#422: json_read/3 and friends no longer read the character that follows the JSON document, allowing for _concatenated JSON_.", 'SWI-Prolog/packages-http').
  885changelog_event(json_read_dict/2, fixed, 80101, 1548412771, "eb809f721fb77c3e627aa84312727a6888fe5ca8", "FIXED: json_read_dict/2,3: allow options to define arbitrary terms for true, false, null and end_of_file.", 'SWI-Prolog/packages-http').
  886changelog_event(json_read_dict/2, modified, 90336, 1763902636, "022b0d1ddf688525afae9c07af2611c80270eb69", "MODIFIED: The default _tag_ for json_read_dict/2,3 is now `#`", 'SWI-Prolog/packages-json').
  887changelog_event(json_rpc_call/4, added, 100101, 1766660055, "fd83debaa6e0b2a4220ef2a8ae0355e05cb61b87", "ADDED: json_rpc_call/4, etc: option thread_alias(+Atom)", 'SWI-Prolog/packages-json').
  888changelog_event(json_rpc_dispatch/2, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  889changelog_event(json_rpc_error/2, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  890changelog_event(json_rpc_error/3, introduced, 90336, 1763919617, "087fdc098cced3746b57d3cbf63585e9bf8f1a2f", "ADDED: library(json_rpc_client) and library(json_rpc_server).", 'SWI-Prolog/packages-json').
  891changelog_event(json_skip_ws/3, fixed, 90325, 1746203578, "88bb0b2459bb8af5b7e7728f19d05285f26d5743", "FIXED: json_skip_ws/3: Pass exception.", 'SWI-Prolog/packages-http').
  892changelog_event(json_validate/3, introduced, 90335, 1762788086, "d82730d7d232e32a7b08dedbbeca5af7155e0a89", "ADDED: library(json_schema) to provide checking JSON schema.", 'SWI-Prolog/packages-json').
  893changelog_event(json_write/2, added, 80124, 1583240860, "1bda80eb2b60157833c7a586eb959505bb4b5e98", "ADDED: json_write/2,3 and variations: emit rational numbers as floating point numbers.  Applications can redefine this behaviour using json_write_hook/4.", 'SWI-Prolog/packages-http').
  894changelog_event(json_write/2, fixed, 90302, 1708345557, "8c2756314edbd36606204835589b8875b57a465a", "FIXED: json_write/2,3: deal with high Unicode characters on Windows.", 'SWI-Prolog/packages-http').
  895changelog_event(json_write/3, modified, 90305, 1714384018, "cb2a3a7881cef8005ac70969c2d3f0bda026adc2", "MODIFIED: json_write/3 and friends: no spacing with width(0).", 'SWI-Prolog/packages-http').
  896changelog_event(json_write_hook/4, added, 80105, 1555763239, "b4d5518be090125aefb08709343062094240b181", "ADDED: a json:json_write_hook/4 hook to allow for end-user control over objects", 'SWI-Prolog/packages-http').
  897changelog_event(key/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
  898changelog_event(keys/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
  899changelog_event(lazy_list/2, enhanced, 80322, 1617637005, "b578c2aea08682e8a2576a726787d75cc6adc476", "ENHANCED: lazy_list/2 to avoid duplicating the iterator closure.  This allows for using a complicated closure and using destructive assignment in the closure to update the state.", 'SWI-Prolog/swipl-devel').
  900changelog_event(lcm/2, added, 80124, 1582477228, "badf2e83532ae1ee1cf4b6c57138a33b9970174b", "ADDED: function lcm/2.  This patch also FIXES gcd(X,0) to evaluate to X rather than to 0.", 'SWI-Prolog/swipl-devel').
  901changelog_event(library_directory/1, modified, 80131, 1588599718, "1994d72153e44972eb7dc4f186912f4400a6af64", "MODIFIED: Emptied and deprecated library_directory/1.  The definitions have been moved to file_search_path/2.  Modified the definition of the `autoload` alias to explicitly specify", 'SWI-Prolog/swipl-devel').
  902changelog_event(limit/2, added, 80114, 1567713165, "86fe697b492aebbb165ae63b6a0846e0ecd44c50", "ADDED: limit/2: allow for a limit `infinite`", 'SWI-Prolog/swipl-devel').
  903changelog_event(line_position/2, enhanced, 100113, 1785674933, "4097ffa72b2875f0ae453e44f48bb85343ee2c19", "ENHANCED: line_position/2 skips ANSI escape sequences", 'SWI-Prolog/swipl-devel').
  904changelog_event(line_position/2, fixed, 100113, 1785674621, "3735caa73b11793630a5f7e3a9d7d3a497bae09d", "FIXED: line_position/2 for tabs and non-printable characters", 'SWI-Prolog/swipl-devel').
  905changelog_event(list_confusable_identifiers/0, enhanced, 100108, 1778513109, "98606fb912d1b0c72c293ae52670d61f9aacb6ce", "ENHANCED: hook list_confusable_identifiers/0 into library(check)", 'SWI-Prolog/packages-utf8proc').
  906changelog_event(list_cross_module_calls/0, introduced, 80128, 1586175271, "7db61680e892451b0b80b62fe9479e813d20a323", "ADDED: library(check): list_cross_module_calls/0,1.", 'SWI-Prolog/swipl-devel').
  907changelog_event(list_cross_module_calls/1, introduced, 80128, 1586175271, "7db61680e892451b0b80b62fe9479e813d20a323", "ADDED: library(check): list_cross_module_calls/0,1.", 'SWI-Prolog/swipl-devel').
  908changelog_event(list_debug_topics/0, enhanced, 80305, 1594990375, "08459584d16283bb0904df3efa09fd7d469ba05f", "ENHANCED: list_debug_topics/0: use quoted print and numbervars to list the topic more precisely.  David Tonhofer.", 'SWI-Prolog/swipl-devel').
  909changelog_event(list_debug_topics/1, introduced, 90103, 1673453311, "808e1640810b3a49e7390ccbcb85de3127585ed7", "ADDED: list_debug_topics/1 to search, only print active topics, etc. This predicate now uses print_message/2.   debugging/0 is hooked to show the active topics.", 'SWI-Prolog/swipl-devel').
  910changelog_event(list_format_errors/0, introduced, 80122, 1579974943, "7df772d6dda60f6602c1b595621dc581a003d7bb", "ADDED: list_format_errors/0,1, by default called from check/0.", 'SWI-Prolog/swipl-devel').
  911changelog_event(list_format_errors/1, introduced, 80122, 1579974943, "7df772d6dda60f6602c1b595621dc581a003d7bb", "ADDED: list_format_errors/0,1, by default called from check/0.", 'SWI-Prolog/swipl-devel').
  912changelog_event(list_rationals/0, introduced, 80122, 1580486050, "af8994c0385ee48947522ed594a0d0efd9e4166f", "ADDED: list_rationals/0,1", 'SWI-Prolog/swipl-devel').
  913changelog_event(list_rationals/1, introduced, 80122, 1580486050, "af8994c0385ee48947522ed594a0d0efd9e4166f", "ADDED: list_rationals/0,1", 'SWI-Prolog/swipl-devel').
  914changelog_event(list_redefined/0, fixed, 80122, 1579970528, "0ed6ed8ab9fe3042074cd82875e3f8e37b204ee5", "FIXED: list_redefined/0: suppress messages for table aux predicates.", 'SWI-Prolog/swipl-devel').
  915changelog_event(list_to_fdset/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
  916changelog_event(list_to_set/2, enhanced, 80321, 1614765780, "fde8a69ab4ffa4dc4761b93ba97c8ed15e6d8929", "ENHANCED: Use efficient list_to_set/2 internally.", 'SWI-Prolog/swipl-devel').
  917changelog_event(list_tracing/0, introduced, 90104, 1674138415, "0112895803a8728c1a713f7392da935dc0fd61f3", "ADDED: list_tracing/0 and hook this into debugging/0.", 'SWI-Prolog/swipl-devel').
  918changelog_event(listing/0, added, 80113, 1566492782, "a9237236d88b0dfa0113b63ecf2de5dd0db18008", "ADDED: Partial support to include table directives in listing/0,1,2. Renamed wrapper to reuse normal hiding conventions for code.", 'SWI-Prolog/swipl-devel').
  919changelog_event(listing/0, enhanced, 90333, 1760455946, "12fac159060afd855d7c1607dc53e8c6ba0b8aec", "ENHANCED: listing/0,1,2 to respect the terminal width.", 'SWI-Prolog/swipl-devel').
  920changelog_event(listing/1, added, 90000, 1666271789, "9bada63b8027a1c34e7674c2ff24ee04bc16cc91", "ADDED: listing/1,2 to also accept a clause reference as entity to list.", 'SWI-Prolog/swipl-devel').
  921changelog_event(listing/1, enhanced, 100001, 1771083225, "192caf929cc73ea7f372a74f5128f056ae209919", "ENHANCED: listing/1,2: show number of clauses in other threads.", 'SWI-Prolog/swipl-devel').
  922changelog_event(listing/1, fixed, 80111, 1564987758, "09a7d554dce08b3df56ad9a7387b7d41bbcc459d", "FIXED: listing/1 if variables have been bound.  Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
  923changelog_event(listing/1, fixed, 80305, 1595853977, "18c7803ebb3023c642702b2e77027c5acb5c5698", "FIXED: listing/1: when used with a partly instantiated head to list a subset of the clauses, do not unify the clause head but only test it is unifyable.", 'SWI-Prolog/swipl-devel').
  924changelog_event(listing/1, fixed, 80325, 1620747877, "6758036f46d384f63ce09cc0695f71b6732d0030", "FIXED: listing/1 and friends for compound terms using `[]` as functor.", 'SWI-Prolog/swipl-devel').
  925changelog_event(listing/1, fixed, 80500, 1631360258, "1e8a1e1e4ebfa0a08268a3b627c5eb10a7606a8c", "FIXED: Allow listing/1 from a temporary module.", 'SWI-Prolog/swipl-devel').
  926changelog_event(listing/2, added, 100001, 1770999524, "a586fa4fe79494d738f0021b3be61476adb4ead8", "ADDED: listing/2: option thread(+ThreadId)", 'SWI-Prolog/swipl-devel').
  927changelog_event(listing/2, enhanced, 100110, 1781546662, "fe9720f9e24117510a312073437a409cc89224d2", "ENHANCED: listing/2 using source(true): show source location as URL.", 'SWI-Prolog/swipl-devel').
  928changelog_event(listing/2, fixed, 100106, 1775375233, "93b8731b425d0a1a5b42fe712baa7b41f5d93ef6", "FIXED: Missing declaation of listing/2 for option source(+Boolean)", 'SWI-Prolog/swipl-devel').
  929changelog_event(load_file/2, fixed, 80306, 1597849412, "cbb831838627fd27c3ecf80e5fe6e21429bdb08c", "FIXED: load_file/2: if(changed) option for loading a non-module file was ignored, always loading the file.", 'SWI-Prolog/swipl-devel').
  930changelog_event(load_files/1, modified, 80518, 1663786052, "2778c8ae13ce51bf0956976a59d39118d1be6018", "MODIFIED: WASM: Prolog.consult() now calls load_files/1, allowing it to handle a mixture of local files, URLs as well as Prolog sources and .qlf files.   The sources are now processed _sequentially_ and are no longer materialised as files.", 'SWI-Prolog/swipl-devel').
  931changelog_event(load_files/2, added, 80518, 1663688435, "90f034832c405b6a5eb6adac17c99713b8452c7e", "ADDED: load_files/2: option if(Cond) is extended with `exists` to silently not load a file if it does not exist.", 'SWI-Prolog/swipl-devel').
  932changelog_event(load_files/2, fixed, 90322, 1742318332, "8c61cfb3e0e3fdb56cbd4539387a3f2debb922f8", "FIXED: load_files/2: resolve to files loaded from .qlf", 'SWI-Prolog/swipl-devel').
  933changelog_event(load_private_key/3, added, 100112, 1784037625, "a1da5be52ff5e9c517096e00957d91256b391637", "ADDED: load_private_key/3 and load_public_key/2 support Ed25519 and X25519", 'SWI-Prolog/packages-ssl').
  934changelog_event(load_private_key/3, fixed, 100110, 1781679794, "73fafe74dfde1fb397510d3fc3ba5c6f0d416c54", "FIXED: load_private_key/3 corrupting EC keys with OpenSSL 3", 'SWI-Prolog/packages-ssl').
  935changelog_event(load_public_key/2, added, 100112, 1784037625, "a1da5be52ff5e9c517096e00957d91256b391637", "ADDED: load_private_key/3 and load_public_key/2 support Ed25519 and X25519", 'SWI-Prolog/packages-ssl').
  936changelog_event(load_test_files/1, enhanced, 90105, 1675097845, "c6aef8d2d427fec848a7bc5daaf73a600bedb66f", "ENHANCED: load_test_files/1: provide feedback on found/loaded tests.", 'SWI-Prolog/packages-plunit').
  937changelog_event(locale_create/3, enhanced, 80322, 1617276405, "b63b199080e8554908c60f09612e265561d9cdcd", "ENHANCED: locale_create/3: allow an atom for the name.", 'SWI-Prolog/swipl-devel').
  938changelog_event(locale_create/3, fixed, 80324, 1620492275, "326dd0d2d65ad0c996ed9b99febc77a80c3f2491", "FIXED: locale_create/3: handling of `default` and `current_locale`.", 'SWI-Prolog/swipl-devel').
  939changelog_event(locations/2, added, 100111, 1782565573, "2f2c2fdab989280c50ffea862e98c479012a7db7", "ADDED: prolog_edit:locations/2, provide data access to location discovery.", 'SWI-Prolog/swipl-devel').
  940changelog_event(ls/0, enhanced, 90327, 1754051784, "9ace9047a952df13222136b8801a35b09668d1a3", "ENHANCED: ls/0,1: create hyperlinks for Prolog source files.", 'SWI-Prolog/swipl-devel').
  941changelog_event(macro_position/1, introduced, 90111, 1684956064, "444218409e4c4f31e2d763ee32798c73ab4a15b8", "ADDED: library(macros)", 'SWI-Prolog/swipl-devel').
  942changelog_event(main/0, enhanced, 80505, 1640261368, "a50cd531ce0cd7b3a8dad47caa08dea14d6d74f0", "ENHANCED: main/0 to avoid setting up application signal handling and termination when run interactively.", 'SWI-Prolog/swipl-devel').
  943changelog_event(make/0, enhanced, 90308, 1717403645, "28b3af7378390b21f989b792ee4b9e038c6929f2", "ENHANCED: make/0: no longer try to update the indices of system libraries.", 'SWI-Prolog/swipl-devel').
  944changelog_event(make/0, fixed, 80507, 1643795690, "a42c95de5b210ebe90425ed91955f7e9a7d57ef9", "FIXED: make/0 to consider a file modified if some indirectly included file is modified.   Used to only consider directly included files.", 'SWI-Prolog/swipl-devel').
  945changelog_event(make/0, fixed, 90105, 1676023925, "1e0a111698a5dcaa3625a12cb07439a9190d49ca", "FIXED: make/0 to run all unit tests in changed files rather than only the first unit.", 'SWI-Prolog/packages-plunit').
  946changelog_event(make_libary_index/1, modified, 80118, 1576165478, "0a5499d757e3e0ef790c41c246432b559ecf455c", "MODIFIED: make_libary_index/1, called by make/0 no longer changes to the target library directory if this directory contains a file MKINDEX.pl. This ensures that make/0 is safe in a multi-threaded environment.", 'SWI-Prolog/swipl-devel').
  947changelog_event(make_library_index/1, fixed, 80305, 1595087660, "b837d4490022f04e5c771297312a6978340242ef", "FIXED: make_library_index/1 tested whether `.` was changed rather than the target directory.", 'SWI-Prolog/swipl-devel').
  948changelog_event(make_library_index/1, fixed, 80515, 1657523670, "158daf8212a825c7f7dd983150ba30e46a27330f", "FIXED: make_library_index/1 to use the `xref` flag while reading the file header.   Avoids unwanted term expansion.", 'SWI-Prolog/swipl-devel').
  949changelog_event(make_reload_file/1, introduced, 80518, 1664868915, "986d294bee9c57ea46727b74d08e88e892c90603", "ADDED: make_reload_file/1 to make correct reloading of a file public.", 'SWI-Prolog/swipl-devel').
  950changelog_event(malloc_property/1, introduced, 80127, 1585149594, "4fdd8941629dc373de8e025bb1793ee11fcb34cb", "ADDED: thread_idle/2 and, when linked to tcmalloc, malloc_property/1 and set_malloc/1.", 'SWI-Prolog/swipl-devel').
  951changelog_event(man_object_uri/2, added, 100113, 1786016191, "c48d0a7096f38891d6778dbf63213a73c66250d6", "ADDED: pldoc_href_object/2, man_object_uri/2 and man_uri_object/2", 'SWI-Prolog/packages-pldoc').
  952changelog_event(man_uri_object/2, added, 100113, 1786016191, "c48d0a7096f38891d6778dbf63213a73c66250d6", "ADDED: pldoc_href_object/2, man_object_uri/2 and man_uri_object/2", 'SWI-Prolog/packages-pldoc').
  953changelog_event(manpce/0, added, 100109, 1781424498, "407c9d7717c6b118969f07942071ed4d160d9c5e", "ADDED: Epilog XPCE menu with the core manpce/0 tools", 'SWI-Prolog/packages-xpce').
  954changelog_event(map_method/2, added, 80317, 1609082586, "c65d43c40907416289a0419a27337b77bb718b62", "ADDED: Define http_open/map_method/2 as multifile so we can support non-RFC HTTP methods.", 'SWI-Prolog/packages-http').
  955changelog_event(mapdict/2, introduced, 90313, 1728658443, "8ee3600c7b4441c444bb9a0b1720b9c9bc0c4dcf", "ADDED: library(dicts): mapdict/2,3,4", 'SWI-Prolog/swipl-devel').
  956changelog_event(mapdict/3, introduced, 90313, 1728658443, "8ee3600c7b4441c444bb9a0b1720b9c9bc0c4dcf", "ADDED: library(dicts): mapdict/2,3,4", 'SWI-Prolog/swipl-devel').
  957changelog_event(mapdict/4, introduced, 90313, 1728658443, "8ee3600c7b4441c444bb9a0b1720b9c9bc0c4dcf", "ADDED: library(dicts): mapdict/2,3,4", 'SWI-Prolog/swipl-devel').
  958changelog_event(mapsubterms/3, introduced, 80327, 1624972317, "cf13e21ebb82053b6b849854745bea697a14f4fd", "ADDED: mapsubterms/3 to recursively substitute arguments in a sub term.", 'SWI-Prolog/swipl-devel').
  959changelog_event(mapsubterms_var/3, introduced, 80506, 1642148988, "3437f3c9e6b31056140d86f940f7c4f47599ce89", "ADDED: mapsubterms_var/3 as an alternative to mapsubterms/3 that also maps variables.", 'SWI-Prolog/swipl-devel').
  960changelog_event(mapterm/3, introduced, 80317, 1609593955, "d5c9600958c8238beae6f1b3dbe735bf93c53126", "ADDED: library(terms): same_functor/2-4, mapterm/3", 'SWI-Prolog/swipl-devel').
  961changelog_event(mapterm/3, modified, 80318, 1610268229, "20e1b4e77e611be2f8e079c77bff96c916cf6028", "MODIFIED: Renamed mapterm/3 into mapargs/3 after discussion on Discourse.", 'SWI-Prolog/swipl-devel').
  962changelog_event(max/2, modified, 80322, 1617094915, "cb55f2c3da164d61c5f684482653bee1c31d51f3", "MODIFIED: Issue#808: The functions max/2 and min/2 now return the type used for the comparision when the two numbers are numerically equivalent.  David Tonhofer.", 'SWI-Prolog/swipl-devel').
  963changelog_event(max/2, modified, 90105, 1675152912, "77a8259a93d104592aa529edf56a746e1eb570ca", "MODIFIED: min/2 and max/2 functions propagate NaN rather than the concrete value.", 'SWI-Prolog/swipl-devel').
  964changelog_event(max_list/2, enhanced, 80322, 1617095818, "4f61e82ac3deb58fef56d3ca26c19c76800c27f3", "ENHANCED: Issue#806: Also use SSU rules for the wrapper in max_member/2 and max_list/2. David Tonhofer.", 'SWI-Prolog/swipl-devel').
  965changelog_event(max_member/2, enhanced, 80322, 1617095818, "4f61e82ac3deb58fef56d3ca26c19c76800c27f3", "ENHANCED: Issue#806: Also use SSU rules for the wrapper in max_member/2 and max_list/2. David Tonhofer.", 'SWI-Prolog/swipl-devel').
  966changelog_event(max_member/3, introduced, 80325, 1620919452, "e36d3fd7c56615b83e5c7ae9ba249fbd850f27d1", "ADDED: max_member/3 and min_member/3 (with an order predicate argument) to library(lists).", 'SWI-Prolog/swipl-devel').
  967changelog_event(maxr/2, added, 90105, 1675152912, "ea1419a90114056eed613dac3ed76554f778a5bb", "ADDED: functions cmpr/2, minr/2 and maxr/2 that compare mixed float/rationals exact (i.e., after converting the float to rational).  The min/max versions propagate the rational in case of a tie and propagate numbers rather than NaN.", 'SWI-Prolog/swipl-devel').
  968changelog_event(memberchk/2, fixed, 80502, 1635854409, "90b506900bda7ee6093bb8f308d61215d9e5be72", "FIXED: memberchk/2 for partial lists where the unbound part is constrained. Reported on Discourse by Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
  969changelog_event(memory_file_to_atom/3, fixed, 80508, 1645634506, "28ff95ede882b63d3fac7169f1c2022c6c6c3b72", "FIXED: memory_file_to_atom/3: do not trap an assertion if the encoding is not supported but raise a domain error instead.", 'SWI-Prolog/packages-clib').
  970changelog_event(message_action/2, added, 90334, 1761577941, "c9b09724199e200bc2b12c7525b49c422c868d4f", "ADDED: prolog:message_action/2 hook.", 'SWI-Prolog/swipl-devel').
  971changelog_event(message_property/2, added, 80501, 1634916524, "4dd4d0e264942c0e7dd3652cb324fc3aba2f7138", "ADDED: user:message_property/2: tag(Tag) property to change ERROR and/or Warning.", 'SWI-Prolog/swipl-devel').
  972changelog_event(message_queue_property/2, added, 80302, 1591981234, "f13a326b5962aacae61b3fc2488ca17a1f61abe4", "ADDED: message_queue_property/2: property waiting(-Count) to find the number of threads waiting for this queue.", 'SWI-Prolog/swipl-devel').
  973changelog_event(message_queue_set/2, introduced, 80107, 1558529077, "56658ab5ffd561aa32700821765c77ee569a494a", "ADDED: message_queue_set/2 to modify properties of an existing queue.", 'SWI-Prolog/swipl-devel').
  974changelog_event(message_to_string/2, fixed, 80128, 1586422177, "da0cf27af6d020f07dfb311dceb5ec9e7f50b048", "FIXED: message_to_string/2 to handle ansi(Class, Fmt, Args) as `Fmt-Args` rather than ignoring it.", 'SWI-Prolog/swipl-devel').
  975changelog_event(message_to_string/2, fixed, 80504, 1639569149, "37f295fe35e1ca18289c39ccb516e88ef70def68", "FIXED: Handle new terminal hyperlink elements in message_to_string/2", 'SWI-Prolog/swipl-devel').
  976changelog_event(message_to_string/2, fixed, 80505, 1641226940, "a8485b978d861254ccbafb3f74785fc020d47e53", "FIXED: SWISH Issue#146: failure to render stacktrace due to failure of message_to_string/2 on ansi(Style, Fmt, Arg) if Arg is not a list.", 'SWI-Prolog/swipl-devel').
  977changelog_event(mime_pack/3, fixed, 80105, 1553851128, "e4a2996673a9c3b27c78c91eb60770e98e6adb3b", "FIXED: Issue#91: mime_pack/3: lacking cut causes bad behaviour on backtracking.", 'SWI-Prolog/packages-http').
  978changelog_event(min/2, modified, 80322, 1617094915, "cb55f2c3da164d61c5f684482653bee1c31d51f3", "MODIFIED: Issue#808: The functions max/2 and min/2 now return the type used for the comparision when the two numbers are numerically equivalent.  David Tonhofer.", 'SWI-Prolog/swipl-devel').
  979changelog_event(min/2, modified, 90105, 1675152912, "77a8259a93d104592aa529edf56a746e1eb570ca", "MODIFIED: min/2 and max/2 functions propagate NaN rather than the concrete value.", 'SWI-Prolog/swipl-devel').
  980changelog_event(min_member/3, introduced, 80325, 1620919452, "e36d3fd7c56615b83e5c7ae9ba249fbd850f27d1", "ADDED: max_member/3 and min_member/3 (with an order predicate argument) to library(lists).", 'SWI-Prolog/swipl-devel').
  981changelog_event(minr/2, added, 90105, 1675152912, "ea1419a90114056eed613dac3ed76554f778a5bb", "ADDED: functions cmpr/2, minr/2 and maxr/2 that compare mixed float/rationals exact (i.e., after converting the float to rational).  The min/max versions propagate the rational in case of a tie and propagate numbers rather than NaN.", 'SWI-Prolog/swipl-devel').
  982changelog_event(mkconj/3, enhanced, 80505, 1640266486, "b235c408146c5925edd067937daea2e84d8b7acb", "ENHANCED: mkconj/3 and mkdisj/3 to produces a right-grouped term, e.g.", 'SWI-Prolog/swipl-devel').
  983changelog_event(mkconj/3, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
  984changelog_event(mkdisj/3, enhanced, 80505, 1640266486, "b235c408146c5925edd067937daea2e84d8b7acb", "ENHANCED: mkconj/3 and mkdisj/3 to produces a right-grouped term, e.g.", 'SWI-Prolog/swipl-devel').
  985changelog_event(mkdisj/3, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
  986changelog_event(mode/1, introduced, 90319, 1736764761, "c0bc30f6373158ee594efd2048b01b50091a3fe1", "ADDED: mode/1 and predicate_property/2 property mode(-Head)", 'SWI-Prolog/swipl-devel').
  987changelog_event(module_property/2, added, 80127, 1585561312, "dd109a8054c81b1b5950b3dec0df8b984f5dcdfa", "ADDED: module_property/2: size(-Bytes)", 'SWI-Prolog/swipl-devel').
  988changelog_event(module_property/2, modified, 80125, 1584537199, "204a0f22c389ad0412b722d1b317b803e9575ffe", "MODIFIED: module_property/2: if module exports no operators, succeed with an empty list.  Paulo Moura.", 'SWI-Prolog/swipl-devel').
  989changelog_event(more_general_table/2, fixed, 80107, 1559135116, "3ed36e77bd38de882eb9288b625f16a1a2949aa7", "FIXED: more_general_table/2 for answer completion.", 'SWI-Prolog/swipl-devel').
  990changelog_event(most_general_goal/2, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
  991changelog_event(mqi/0, modified, 80329, 1630396666, "43409695decb65c914428b674af0732788e00094", "MODIFIED: Renamed mqi/0 amd mqi/1 to mqi_start/0,1.", 'SWI-Prolog/packages-mqi').
  992changelog_event((multifile)/1, fixed, 80102, 1549798689, "94638391691089bac04842b04c534243bca20e85", "FIXED: Declare dynamic/1, multifile/1 and discontiguous/1 as `iso`.  This avoids accidental redefinition.", 'SWI-Prolog/swipl-devel').
  993changelog_event(must_be/2, added, 90115, 1693987676, "7a1af9667ea9e00af1b58d9e114feec27e309e5d", "ADDED: must_be/2: type list_or_partial_list(Type)", 'SWI-Prolog/swipl-devel').
  994changelog_event(must_be/2, added, 90119, 1700131714, "f6cef713bd715a4b8a663b8c15bbc0dae9d3a56a", "ADDED: must_be/2 and friends: constructed types and compounds", 'SWI-Prolog/swipl-devel').
  995changelog_event(must_be/2, enhanced, 80309, 1601979430, "85712b112d560391f7a46f6bdac558bb64113426", "ENHANCED: Issue#685: must_be/2: verify existence of the type before raising an error.   David Tonhofer.", 'SWI-Prolog/swipl-devel').
  996changelog_event(mutex_statistics/0, fixed, 80121, 1578568220, "247251cf0c499cb054ccac36753997247beb4763", "FIXED: mutex_statistics/0: keeping trackof known mutexes was broken.", 'SWI-Prolog/swipl-devel').
  997changelog_event(mutex_statistics/0, modified, 80120, 1577114712, "67c39447723836fadb99e3559a73afab3e50f5c1", "MODIFIED: The debug utility mutex_statistics/0 now prints its output to `current_output` such that it can be redirected and ends up in the new SSH consoles.", 'SWI-Prolog/swipl-devel').
  998changelog_event(name/2, fixed, 90118, 1698770161, "b49f069d6d45482fcc4b40810c3523173cf637d7", "FIXED: Issues with name/2 and number_codes/2 high Unicode points on Windows.", 'SWI-Prolog/swipl-devel').
  999changelog_event(nb_intercept_all/4, introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
 1000changelog_event(nb_linkval/2, added, 80102, 1551116338, "4a9cc49a440b1ddc3af4d834290c232ac4b6fb25", "ADDED: Sandbox declarations for nb_linkval/2 and nth_integer_root_and_remainder/4", 'SWI-Prolog/swipl-devel').
 1001changelog_event(nb_set_dict/3, enhanced, 90318, 1735557590, "2ec4bb253ed6078e17cbc3c507fd5f9e7e4bd5d0", "ENHANCED: Use improved sharing in nb_set_dict/3.", 'SWI-Prolog/swipl-devel').
 1002changelog_event(nb_set_to_list/2, fixed, 90325, 1746000556, "4d81e56aa6c82cbff3c4fa8835de1badc4a0b617", "FIXED: #1364 nb_set_to_list/2 could skip elements.", 'SWI-Prolog/swipl-devel').
 1003changelog_event(nb_setarg/3, enhanced, 80326, 1624202532, "45ac1fc0dc731cd2bff6cb812390ddd8ead0b9c3", "ENHANCED: nb_setarg/3 to only copy for a compound term", 'SWI-Prolog/swipl-devel').
 1004changelog_event(nb_setarg/3, enhanced, 90318, 1735557590, "7de5ef58661b9d776627ad0f1167197a89430d0c", "ENHANCED: nb_setarg/3: avoid copying the old value.", 'SWI-Prolog/swipl-devel').
 1005changelog_event(nb_setval/2, enhanced, 90318, 1735557590, "062e637998eec77220ea03dae549c6d8710ca82e", "ENHANCED: nb_setval/2: avoid quadradic complexity.", 'SWI-Prolog/swipl-devel').
 1006changelog_event(nb_setval/2, fixed, 100111, 1782985414, "2390605dae48e4ef07577486500a11b4c58b12c6", "FIXED: #1359 nb_setval/2 did not duplicate a plain attvar.", 'SWI-Prolog/swipl-devel').
 1007changelog_event(new/2, fixed, 90328, 1754379079, "90ead467952bebe38a2aecc97c577e22c69907a5", "FIXED: Deadlock after new/2 fails due to module error.", 'SWI-Prolog/packages-xpce').
 1008changelog_event(new_order_table/2, fixed, 80104, 1553677540, "4a223fcab855e63c2586fabe22f238e20ae1e350", "FIXED: new_order_table/2: accept strings for character sets for compatibility with SWI7.", 'SWI-Prolog/packages-table').
 1009changelog_event(nexttoward/1, fixed, 80127, 1586002704, "0bd62a6e3544bf3d832ae27c56cf5f3108e20d43", "FIXED: Possible wrong NaN from the nexttoward/1 function.", 'SWI-Prolog/swipl-devel').
 1010changelog_event(nexttoward/2, added, 80122, 1581067053, "6ac3028a09c4cd99ec2f048e707e0766af337c87", "ADDED: nexttoward/2 function.", 'SWI-Prolog/swipl-devel').
 1011changelog_event(nospy/1, enhanced, 80508, 1644832038, "7f1517ec1492f4c74b51e9be8e6fb6c3ba47cadc", "ENHANCED: Avoid tracing inside spy/1, nospy/1 and related debug control predicates.", 'SWI-Prolog/swipl-devel').
 1012changelog_event(not_exists/1, added, 80122, 1580290202, "b932efe73a65e64cd03db35fa4c759484c425c71", "ADDED: Declare not_exists/1 from tabling as safe.", 'SWI-Prolog/swipl-devel').
 1013changelog_event(notrace/1, enhanced, 80517, 1663581510, "80a6b542892520f2cc7bc9008c2084d94888bd7b", "ENHANCED: notrace/1: avoid callback through C.  This avoids possible C stack overflows and allows yielding from below notrace/1.", 'SWI-Prolog/swipl-devel').
 1014changelog_event(notrace/1, fixed, 90305, 1714463448, "c894b37132ef2580de883734da9d929dcfbf018d", "FIXED: notrace/1 could raise a representation_error(size_t) exception", 'SWI-Prolog/swipl-devel').
 1015changelog_event(notraceall/0, introduced, 80500, 1632899570, "c9bd771419cd66577d5552b14c251c5af315d214", "ADDED: notraceall/0.", 'SWI-Prolog/swipl-devel').
 1016changelog_event(notrap/1, introduced, 80329, 1628679308, "9070011c8988fc5f811bc7d28abeaeecf38226d1", "ADDED: trap/1, notrap/1 as commandline utilities to trap exceptions.", 'SWI-Prolog/swipl-devel').
 1017changelog_event(ns/2, enhanced, 80125, 1583499074, "c5df4e75fc0daefb49f134f94a6f001003573ffd", "ENHANCED: Handle ns/2 in xml_ns/3. Also properly handle the case where two different prefixes refer to the same URL now that we have the prefix available. This fixes canonicalization of attributes if there are two namespaces that expand to the same URI", 'SWI-Prolog/packages-sgml').
 1018changelog_event(ns/2, fixed, 80128, 1586245462, "9d3f2fe3a1cf7bade9e1be2b272d88b130b14fee", "FIXED: Preserve prefix name in xmlns declaration if ns/2 is in use", 'SWI-Prolog/packages-sgml').
 1019changelog_event(nth0/3, enhanced, 80515, 1658234228, "33c0cef94a78a26819b7c6905831e453c5964f9c", "ENHANCED: performance for nth0/3 in mode (+,+,?)", 'SWI-Prolog/swipl-devel').
 1020changelog_event(nth0/3, enhanced, 90115, 1693815042, "b1ad4aafe316b9f63aaf909b55771c368546184c", "ENHANCED: Performance of nth1/3 and nth0/3 for mode (-,+,?)", 'SWI-Prolog/swipl-devel').
 1021changelog_event(nth1/3, enhanced, 80516, 1659081065, "53bb393081ad8eb5d4e64d86e58368e0751cbc6e", "ENHANCED: Optimize nth1/3 using '$seek_list'/4", 'SWI-Prolog/swipl-devel').
 1022changelog_event(nth1/3, enhanced, 90115, 1693815042, "b1ad4aafe316b9f63aaf909b55771c368546184c", "ENHANCED: Performance of nth1/3 and nth0/3 for mode (-,+,?)", 'SWI-Prolog/swipl-devel').
 1023changelog_event(nth_integer_root_and_remainder/4, added, 80102, 1551116338, "4a9cc49a440b1ddc3af4d834290c232ac4b6fb25", "ADDED: Sandbox declarations for nb_linkval/2 and nth_integer_root_and_remainder/4", 'SWI-Prolog/swipl-devel').
 1024changelog_event(number_codes/2, fixed, 90118, 1698770161, "b49f069d6d45482fcc4b40810c3523173cf637d7", "FIXED: Issues with name/2 and number_codes/2 high Unicode points on Windows.", 'SWI-Prolog/swipl-devel').
 1025changelog_event(number_string/2, fixed, 100111, 1782917194, "355e941be308fc7ec3ce0074fc2293fb2e37c005", "FIXED: #695 number_string/2: correct type error.", 'SWI-Prolog/swipl-devel').
 1026changelog_event(numbervars/4, added, 80107, 1559210572, "12efa4b2c7e7189e535624ef56a734294746ffac", "ADDED: declare numbervars/4 as sandbox-safe.", 'SWI-Prolog/swipl-devel').
 1027changelog_event(numbervars/4, modified, 80307, 1598455421, "b4683bbff64ca7d9b4b16e46b7ac6ce5a1d3b3c4", "MODIFIED: numbervars/4 using the `singletons(true)` option to number variables in LR order rather than in the order where the second occurrence is found. This notably makes the output of portray_clause/1-3 easier to read.", 'SWI-Prolog/swipl-devel').
 1028changelog_event(numerator/1, added, 80122, 1580486050, "5d3d8960f87f5a0450cc836f596e274a02c32716", "ADDED: ECLiPSe compatible functions numerator/1 and denominator/1.", 'SWI-Prolog/swipl-devel').
 1029changelog_event(obj_dict/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1030changelog_event(obj_dir/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1031changelog_event(odbc_connect/3, enhanced, 100112, 1784206709, "16177b91a229cce5050fe99b7553f62dda3d047a", "ENHANCED: odbc_connect/3 uses PL_scan_options()", 'SWI-Prolog/packages-odbc').
 1032changelog_event(odbc_next_result_set/1, introduced, 80110, 1562757060, "d5d8ae8900f71880ca001279f5b5ae34f684647d", "ADDED: odbc_next_result_set/1 to ODBC to fetch data from subsequent result sets. MODIFIED: Statements prepared using odbc_prepare/5 with the option `fetch(fetch)` __must__ now be explicitly closed or freed.", 'SWI-Prolog/packages-odbc').
 1033changelog_event(odbc_prepare/4, added, 90118, 1697623717, "10da4f36fb7235399487a725d123817fd2cf10d6", "ADDED: odbc_prepare/4: return derived parameter mapping", 'SWI-Prolog/packages-odbc').
 1034changelog_event(odbc_table_column/3, fixed, 80500, 1633419346, "f85726bda5d597d0f7d83a110f2a4ca9496dd75d", "FIXED: Cleanup the remains of old work-arounds or broken MS SQLServer SQLColumns() and add a new one.  odbc_table_column/3 stops with the error ``Invalid Descriptor Index`` trying to fetch the column name using SQLGetData().  The work-around sets the column with for this query to 8K, avoiding SQLGetData().  Thanks to Fernando Sáenz-Pérez for reporting and providing access to a server.", 'SWI-Prolog/packages-odbc').
 1035changelog_event(odbc_table_column/4, added, 90118, 1697623786, "b39d4c6f4231b965d1cd286d0f0cb50e961d5e93", "ADDED: odbc_table_column/4: improved mapping to Prolog types.", 'SWI-Prolog/packages-odbc').
 1036changelog_event(on_load/0, added, 80111, 1563801832, "10ea455ac7d6227b0af86742e5ab39bb5eebabd0", "ADDED: multifile hook pce:on_load/0", 'SWI-Prolog/packages-xpce').
 1037changelog_event(on_signal/2, modified, 80120, 1576946955, "68fd0af0ae2af9d09324afce776413a163b8aac9", "MODIFIED: on_signal/2 now interprets `debug` as reserved handler name, triggering the default ^C handler.", 'SWI-Prolog/swipl-devel').
 1038changelog_event(on_signal/3, added, 80508, 1646036560, "a242bfe943158027dd687f2c8aa21ab01c375883", "ADDED: on_signal/3 now takes value 'ignore'", 'SWI-Prolog/swipl-devel').
 1039changelog_event(on_signal/3, fixed, 80101, 1548682960, "8bf32a73ac9b462b0abb7b3e021bdb4d33096f62", "FIXED: on_signal/3 handling of `throw`.  Peter Ludemann.", 'SWI-Prolog/swipl-devel').
 1040changelog_event(on_signal/3, fixed, 80120, 1577005224, "fdbcdda8962444181e316e33435ddf13a781edb7", "FIXED: on_signal/3 not to fail if the signal is bound to a handler in a different module.", 'SWI-Prolog/swipl-devel').
 1041changelog_event(on_signal/3, fixed, 80327, 1624972167, "60d72aa51080e4da191b26fe552063546b072ab5", "FIXED: on_signal/3 claims the signal is wrong on a type error on the handler.", 'SWI-Prolog/swipl-devel').
 1042changelog_event(on_signal/3, fixed, 80510, 1648657540, "445b8a457cc1e575b4d018a932b285a0f0ab5ff1", "FIXED: on_signal/3: properly set flags on the signal structure such that when bound to a predicate the predicate is called synchronously.   Breaks handling SIGTERM in library(http/http_unix_daemon).", 'SWI-Prolog/swipl-devel').
 1043changelog_event(on_signal/3, fixed, 80517, 1663317372, "8c9d3757bf900403e8b6428e21bf4f980061d70a", "FIXED: on_signal/3 for ``SIGINT`` called the handler asynchronously.  This should only happen if `SIGINT` is bound to the debug handler. Reported by Raivo Laanemets.", 'SWI-Prolog/swipl-devel').
 1044changelog_event(open/3, fixed, 80511, 1649954478, "f806cc2de4551f7f48d5ab62f09cc07117aba83a", "FIXED: open/3 and friends on 'res://' paths.", 'SWI-Prolog/swipl-devel').
 1045changelog_event(open/4, added, 80511, 1649334076, "1946bfd4a9cef367c0951b7c302f7c604e75dc1b", "ADDED: open/4 option newline(Mode).", 'SWI-Prolog/swipl-devel').
 1046changelog_event(open_html/1, fixed, 80125, 1583434067, "2bd608ab74f516b706ed8d1abc2ad0847a288307", "FIXED: Removed unused and incorrect open_html/1 from library(win_menu).", 'SWI-Prolog/swipl-devel').
 1047changelog_event(open_prolog_stream/4, fixed, 80128, 1586242414, "e2e04a88a61e568f7864250ff09cbf5d48c57573", "FIXED: Possible data corruption, in most recent versions crash, when writing a long string using a Prolog-defined stream (see open_prolog_stream/4).", 'SWI-Prolog/swipl-devel').
 1048changelog_event(open_resource/2, enhanced, 80511, 1649954510, "841c6b00b5238a79901561e494e7b5051259b788", "ENHANCED: open_resource/2,3: allow opening multiple resources concurrently.", 'SWI-Prolog/swipl-devel').
 1049changelog_event(open_resource/2, fixed, 90321, 1740925696, "be6d074530fb6fd8fd4f1565e1382af742db0abe", "FIXED: #1352 open_resource/2: Unknown procedure: '$rc':zip_close/2", 'SWI-Prolog/swipl-devel').
 1050changelog_event(open_shared_object/3, added, 90114, 1691593838, "423863948d3ff622b5079bf68bd35c41ded24601", "ADDED: open_shared_object/3: support all glibc RTLD_* options.", 'SWI-Prolog/swipl-devel').
 1051changelog_event(open_source_hook/3, added, 80115, 1569921274, "99a2930d48e8fe293e24928e9c314a50e3b9d91e", "ADDED: prolog:open_source_hook/3 to allow hooking the final open for the compiler.", 'SWI-Prolog/swipl-devel').
 1052changelog_event(open_stream/2, modified, 80122, 1579969784, "4acf1a0400dd27864fab5dcc7328519852a39211", "MODIFIED: Turtle parser: if input is a text stream assume that the encoding is correct.  This avoids a permission error if the stream (for example) originates from open_stream/2.", 'SWI-Prolog/packages-semweb').
 1053changelog_event(open_string/2, fixed, 80501, 1634647630, "ef978e07058953a7b2fdce38020a8633d7d08c7e", "FIXED: Issue#896: Claim that memory streams as used by e.g. open_string/2 are reported as repositionable.  Reported by Matthijs van Otterdijk.", 'SWI-Prolog/swipl-devel').
 1054changelog_event(opt_parse/4, added, 80501, 1634589046, "1e0221314c685611b6e2eef7eceb63809faaa927", "ADDED: opt_parse/4: Allow using a string as help(Help) value.", 'SWI-Prolog/swipl-devel').
 1055changelog_event(opt_parse/4, modified, 80501, 1634589239, "c7c2824abb01608b8e96c2da88c970d85473cd0e", "MODIFIED: opt_parse/4: if an option is unknown only throw an exception, i.e., *not* first print the help message.", 'SWI-Prolog/swipl-devel').
 1056changelog_event(opt_usage/1, added, 90121, 1702375882, "cead4e253f5193e20630ca6d0dd0164fc2cb6f12", "ADDED: opt_usage/1: allow for multiple `opt_help(help(usage), Usage)`", 'SWI-Prolog/swipl-devel').
 1057changelog_event(option/2, enhanced, 80507, 1643283750, "4bc0007380693020808e80e2a8c810aee3f7b458", "ENHANCED: option/2: verify the Options argument.", 'SWI-Prolog/swipl-devel').
 1058changelog_event(option/2, fixed, 80304, 1594230635, "67922037e9a5a2c16cb1b7f08be512a71481e507", "FIXED: Added option/2 dependency for library(thread).", 'SWI-Prolog/swipl-devel').
 1059changelog_event(ord_intersection/2, enhanced, 80500, 1632232111, "00949fcecaaa008c1d6f927ce23082085815c619", "ENHANCED: ord_intersection/2 to raise errors of the input is not a proper powerset.", 'SWI-Prolog/swipl-devel').
 1060changelog_event(ord_subtract/3, enhanced, 80504, 1639648080, "dba24608e98345b10e83ba0468e3009692ee0b25", "ENHANCED: ord_subtract/3: use => rules to trap wrong calls and stop when the list of elements to be subtracted is exhausted.", 'SWI-Prolog/swipl-devel').
 1061changelog_event(p/1, added, 80113, 1567090629, "c27a6ada09df9d4bcbef6fbff9cf69b29aa4fc75", "ADDED: Support the XSB syntax ``:- dynamic p/1 as incremental.``.  The incompatibility makes writing code that runs on both too complicated.", 'SWI-Prolog/swipl-devel').
 1062changelog_event(pack_attach/2, introduced, 80320, 1613479657, "1ac8b4031b361f9c0e84164c1e39ccbc9ce915ed", "ADDED: attach_pack/2.  Suggested by Falco Nogatz.", 'SWI-Prolog/swipl-devel').
 1063changelog_event(pack_attach/2, modified, 90122, 1705246473, "7eea4a288929ba7c7fa125be1636625fd25116a6", "MODIFIED: Moved pack_attach/2 from the library to the core.", 'SWI-Prolog/swipl-devel').
 1064changelog_event(pack_info/1, enhanced, 90317, 1733333016, "6f2e58744704bbe038f551bcdf99536100071845", "ENHANCED: pack_info/1: use colours and indicate autoload status.", 'SWI-Prolog/swipl-devel').
 1065changelog_event(pack_install/1, added, 80500, 1632944453, "b9519dbb42b52986da41047bbd4a18e1c0055f61", "ADDED: pack_install/1 and friends: pass a _prefix_ flag to CMake or configure that follows the same conventions as the installed Prolog system.", 'SWI-Prolog/swipl-devel').
 1066changelog_event(pack_install/1, added, 80502, 1635863539, "09430a8d024a1f179f79f3d95f72e2ce8ac00ad7", "ADDED: pack_install/1,2: provide pack_install(.) to add the local directory to the pack registry and build it.  Also add option `link(true)` and `rebuild(When)` to provide more fine control over the build.", 'SWI-Prolog/swipl-devel').
 1067changelog_event(pack_install/1, added, 80502, 1636538435, "b3c78b56845a4b4e9f753171e4617836c59232a3", "ADDED: pack_install/1: reorganized the code building foreign resources.  This code is now in a new library(build/tools) and uses a plugin architecture that deals with Conan, CMake and GNU tools (autoconf etc.).", 'SWI-Prolog/swipl-devel').
 1068changelog_event(pack_install/1, added, 80503, 1637829410, "427b22fc961e9e443cc9a7f5bbb24d76723c9b7b", "ADDED: pack_install/1 and friends: provide an environment variable PREFIX for installing global objects.", 'SWI-Prolog/swipl-devel').
 1069changelog_event(pack_install/1, added, 80504, 1638357250, "4b302faab9e5815680a5a675278c609714cdcec5", "ADDED: pack_install/1 to support `pack_version(2).` in `pack.pl`.", 'SWI-Prolog/swipl-devel').
 1070changelog_event(pack_install/1, added, 80514, 1656667615, "47326a74aa2bff591f6b82c9ff0377187a6a2406", "ADDED: pack_install/1 to test whether a URL is a GIT URL using git_remote_branches/2.", 'SWI-Prolog/swipl-devel').
 1071changelog_event(pack_install/1, enhanced, 90312, 1726846317, "da3c95b44c7a4bd49cc0beb33357a1141d676bd3", "ENHANCED: pack_install/1: warn if files are downloaded over HTTP", 'SWI-Prolog/swipl-devel').
 1072changelog_event(pack_install/1, fixed, 80502, 1635863387, "f8c4ca0b227ed2aaf61a456b72dcc11e6ae7e8d4", "FIXED: pack_install/1,2: do not remove contents if the package registered as a symbolic link.", 'SWI-Prolog/swipl-devel').
 1073changelog_event(pack_install/1, fixed, 80502, 1635956014, "9af73ddadcc93d08a148ea4788b080ee13808725", "FIXED: pack_install/1,2: If we use CMake for configuration, we should also build in the CMake directory.", 'SWI-Prolog/swipl-devel').
 1074changelog_event(pack_install/1, fixed, 80502, 1636622132, "829f6bfea264c1dd1bbf746d2595d4d2c2cdd9b9", "FIXED: pack_install/1 _install_ step for make based packages.", 'SWI-Prolog/swipl-devel').
 1075changelog_event(pack_install/1, fixed, 80503, 1636963741, "b21ae95ca90dd7967c2f4b03c8ed9c9b65a493a9", "FIXED: pack_install/1: message indicating foreign install step.", 'SWI-Prolog/swipl-devel').
 1076changelog_event(pack_install/1, fixed, 80503, 1636963905, "633f608cc5fe1eb16ed0eb421d340abe222460ef", "FIXED: pack_install/1: if no foreign steps are required, skip them.", 'SWI-Prolog/swipl-devel').
 1077changelog_event(pack_install/1, fixed, 80514, 1656772479, "a338fa38263b623863c6545753097e6343bc00f7", "FIXED: pack_install/1: version comparison for already installed versions.", 'SWI-Prolog/swipl-devel').
 1078changelog_event(pack_install/1, fixed, 80514, 1656774682, "6c9b4c35d35c795c9a688d6f065723063ed08071", "FIXED: pack_install/1: if the pack is already installed at an older version, upgrade it.", 'SWI-Prolog/swipl-devel').
 1079changelog_event(pack_install/1, modified, 90000, 1668425243, "02a547e9ada10599df45973a5ab6f62c76bb3494", "MODIFIED: pack_install/1 and friends to pass all environment variables to the tools that may be executed to build the pack.", 'SWI-Prolog/swipl-devel').
 1080changelog_event(pack_install/1, modified, 90118, 1698758255, "488d9de64d1621e1be6a945d284e26cc57d2de62", "MODIFIED: pack_install/1,2: enforce TLS certificates", 'SWI-Prolog/swipl-devel').
 1081changelog_event(pack_install/2, added, 80504, 1638199253, "3102c787a15e5d9f8ee692224b281a76e78d55e9", "ADDED: pack_install/2: option test(Boolean) to skip the pack tests.", 'SWI-Prolog/swipl-devel').
 1082changelog_event(pack_install/2, added, 80506, 1641993939, "4d57b6513da19d86e02432e2783036a59d01a4ad", "ADDED: pack_install/2: option global(Boolean) to explicitly install a package for the user or globally.", 'SWI-Prolog/swipl-devel').
 1083changelog_event(pack_install/2, added, 90201, 1707726660, "d7df2f52461d26a2747600f900cd87488ea4176d", "ADDED: pack_install/2: support server(Server) option.", 'SWI-Prolog/swipl-devel').
 1084changelog_event(pack_install/2, enhanced, 90118, 1698758255, "33bd643ab09a9faddbe71468bc0faff5fb460bfa", "ENHANCED: pack_install/2: duplicate handling", 'SWI-Prolog/swipl-devel').
 1085changelog_event(pack_install/2, enhanced, 90201, 1707906345, "58cfbcacd15ab0eea8b41e61d114a39a44e576ce", "ENHANCED: pack_install/2 and friends: finish the server URL.", 'SWI-Prolog/swipl-devel').
 1086changelog_event(pack_install/2, fixed, 90200, 1706546494, "525b4ae97b570e3676aa1da1b9e6c31af6792674", "FIXED: pack_install/2 from an archive file.", 'SWI-Prolog/swipl-devel').
 1087changelog_event(pack_install/2, fixed, 90200, 1706546522, "4eb8604dab0bf1e8a443a8734bc988c9a915011e", "FIXED: pack_install/2: may try to delete old pack twice.", 'SWI-Prolog/swipl-devel').
 1088changelog_event(pack_install/2, fixed, 90200, 1706608194, "997db6df153cd4dcc970441cd7cda9c6320fe292", "FIXED: pack_install/2: install from archive without git.", 'SWI-Prolog/swipl-devel').
 1089changelog_event(pack_install/2, modified, 90317, 1733332020, "c6256bd2327d317f03c62b58dd51696b922a2c60", "MODIFIED: pack_install/2 option autoload(true)", 'SWI-Prolog/swipl-devel').
 1090changelog_event(pack_install_local/3, introduced, 90122, 1705084477, "caddd3e334632f6468b5717cc610f609b8c5be1f", "ADDED: pack_install_local/3", 'SWI-Prolog/swipl-devel').
 1091changelog_event(pack_list/2, introduced, 90122, 1704892038, "aa6466072756a8b18467945b5d8d7be53cc135d3", "ADDED: pack_list/2", 'SWI-Prolog/swipl-devel').
 1092changelog_event(pack_publish/2, fixed, 90201, 1706790616, "91a1b8b38cd2bf666ac5a9dd4c4ab342abd9b557", "FIXED: pack_publish/2 using a URL.", 'SWI-Prolog/swipl-devel').
 1093changelog_event(pack_publish/2, fixed, 90312, 1727195176, "00884205a7ecbe60912fb21ccc45c18358eaa91a", "FIXED: pack_publish/2 reporting (claimed failure)", 'SWI-Prolog/swipl-devel').
 1094changelog_event(pack_rebuild/1, fixed, 80502, 1636561548, "79a7b735526d44329a918c67ea54cf333e9888a5", "FIXED: pack_rebuild/1 for CMake configurations.", 'SWI-Prolog/swipl-devel').
 1095changelog_event(pack_rebuild/1, fixed, 80505, 1641228805, "8c2cd4a78f686db13f2715058a5459f00eaf3906", "FIXED: pack_rebuild/1 if the pack is installed but does not provide binaries for the current architecture.  Nicos Angelopoulos.", 'SWI-Prolog/swipl-devel').
 1096changelog_event(pack_rebuild/2, fixed, 90000, 1667473108, "16193a3180ac80d7544c0af77fcf5d8cd8729d40", "FIXED: swipl.cmake outside pack_rebuild/2 context gets linking against libswipl wrong.", 'SWI-Prolog/swipl-devel').
 1097changelog_event(pack_remove/1, fixed, 80102, 1550048824, "0521ad37993ac287017aeb85bf357fe4666e3ee3", "FIXED: pack_remove/1 if the pack exists but was not attached due to a lacking foreign library.  If the pack is really missing it now just prints a message instead of raising an exception.  Paulo Moura.", 'SWI-Prolog/swipl-devel').
 1098changelog_event(parse_time/2, modified, 90313, 1727685663, "91ad94b9333781cc2c25be8df24f091bf06dfab1", "MODIFIED: parse_time/2,3: interpret missing timezone as local time.", 'SWI-Prolog/swipl-devel').
 1099changelog_event(parse_time/3, added, 90313, 1727870450, "a5dd9ac67549934dafbb2b1ebdc1263e9f9167c2", "ADDED: parse_time/3: support RFC1036 and ASCTIME formats", 'SWI-Prolog/swipl-devel').
 1100changelog_event(parse_type/3, fixed, 80501, 1634589287, "c5bae5aafa1994628b51a0042834bd23726f4981", "FIXED: Make optparse:parse_type/3 hook work.  Cleanup of optspec validation.", 'SWI-Prolog/swipl-devel').
 1101changelog_event(paxos_admin_key/2, introduced, 80105, 1554022639, "f9669ff67a625dc30615b1b5ec5defb8de4b4071", "ADDED: paxos_admin_key/2 to get supported access to changes to the quorum and nodes considered dead.  Also fixes some mistakes in the documentation.", 'SWI-Prolog/packages-paxos').
 1102changelog_event(paxos_ledger_hook/5, added, 80104, 1553185120, "32f812fe92f2960cd2a47c6644ed750a6e3e8f53", "ADDED: hook paxos:paxos_ledger_hook/5, allowing (some keys of) the ledger to be stored elsewhere.", 'SWI-Prolog/packages-paxos').
 1103changelog_event(paxos_property/1, introduced, 80104, 1553615492, "884e0fd034b59035d085216a4df842ba2c0c9499", "ADDED: paxos_property/1 to query the status of the cluster.", 'SWI-Prolog/packages-paxos').
 1104changelog_event(paxos_quorum_ask/4, introduced, 80104, 1553202734, "f1edf20fd8e4025ced44b1862d2c22f37ed0ee94", "ADDED: paxos_quorum_ask/4 to ask questions to the forum outside the paxos protocol.", 'SWI-Prolog/packages-paxos').
 1105changelog_event(pce_dispatch/1, fixed, 90326, 1750065184, "1018cc5513803c3793bb1f2949858fa42f3cf4b5", "FIXED: Disable pce_dispatch/1 when using SDL.", 'SWI-Prolog/packages-xpce').
 1106changelog_event(pce_open_terminal_image/4, introduced, 90326, 1751123734, "990e293cdbe3922d3c8a239996c4a7a1846415f3", "ADDED: pce_open_terminal_image/4 to get access to the terminal client streams", 'SWI-Prolog/packages-xpce').
 1107changelog_event(pce_show_visual_tool/0, added, 90334, 1762252729, "a94a21519c53ef03672005e24091665c89a4455a", "ADDED: pce_show_visual_tool/0 to library(man/v_visual).", 'SWI-Prolog/packages-xpce').
 1108changelog_event(peek_string/3, enhanced, 80115, 1569929053, "55c141cc03cc5c7f07e64bb129f2e89b0bc3abf2", "ENHANCED: peek_string/3 now allows peeking the remainder of long inputs using a huge value for the peek length while allocating the minimum of the peek length and the input length rather than always allocating the peek length.", 'SWI-Prolog/swipl-devel').
 1109changelog_event(peek_string/3, fixed, 90107, 1677411776, "a332cf1937266d16994938b99213d6c48a3fb116", "FIXED: Memory leak in peek_string/3.", 'SWI-Prolog/swipl-devel').
 1110changelog_event(pengine_property/2, fixed, 80324, 1620240757, "5c096a3ea911b8149f09bb633832d484a5f5850e", "FIXED: pengine_property/2 in mode (+,+).  David Tonhofer.", 'SWI-Prolog/packages-pengines').
 1111changelog_event(pengine_tab/1, introduced, 80325, 1621928614, "3b11234b6bfd52c6d8360f35bab2584e24248c7c", "ADDED: tab/1 to Pengine I/O emulation, emitting ``&nbsp``", 'SWI-Prolog/packages-pengines').
 1112changelog_event(phrase/2, modified, 90323, 1744038039, "0fb90b28696650c6475f07c719251883ca39a97a", "MODIFIED: ISO: phrase/2,3: do not allow for partial lists as terminal", 'SWI-Prolog/swipl-devel').
 1113changelog_event(phrase_from_file/3, added, 100112, 1784035682, "6f9c1a09778d8018edff3bd075b94400079a9c48", "ADDED: #667 phrase_from_file/3: as(Type) argument, phrase_from_stream/3, stream_to_lazy_codes/2 and stream_to_lazy_chars/2", 'SWI-Prolog/swipl-devel').
 1114changelog_event(phrase_from_stream/3, introduced, 100112, 1784035682, "6f9c1a09778d8018edff3bd075b94400079a9c48", "ADDED: #667 phrase_from_file/3: as(Type) argument, phrase_from_stream/3, stream_to_lazy_codes/2 and stream_to_lazy_chars/2", 'SWI-Prolog/swipl-devel').
 1115changelog_event(pi_head/2, fixed, 80518, 1664720568, "68b8c082c2118e032f84aebdb53f92ce47fae7d4", "FIXED: Added missing import for pi_head/2 in library(prolog_xref).", 'SWI-Prolog/swipl-devel').
 1116changelog_event(pi_head/2, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
 1117changelog_event(pick_symbol/1, introduced, 100108, 1779028643, "ad38597dbfdd3fc8f5d9de3383d067affa4f1a2c", "ADDED: library(pce_symbol_picker) for picking Unicode symbols", 'SWI-Prolog/packages-xpce').
 1118changelog_event(pldoc_href_object/2, added, 100113, 1786016191, "c48d0a7096f38891d6778dbf63213a73c66250d6", "ADDED: pldoc_href_object/2, man_object_uri/2 and man_uri_object/2", 'SWI-Prolog/packages-pldoc').
 1119changelog_event(pop_prolog_flag/1, fixed, 100112, 1783780451, "6faa15e345c63738d074e1fe0d65ac1f70160f7f", "FIXED: single-threaded build of push_prolog_flag/2 and pop_prolog_flag/1", 'SWI-Prolog/swipl-devel').
 1120changelog_event(pop_prolog_flag/1, introduced, 100112, 1783772687, "786ec52c1e0a5b11099b2b52fccef278b93b6399", "ADDED: push_prolog_flag/2 and pop_prolog_flag/1", 'SWI-Prolog/swipl-devel').
 1121changelog_event(portray/1, added, 80501, 1633589734, "0ab89f53ed1698e332e88860a396b3bc1350d677", "ADDED: term_html:portray//2 hook that plays a role similar to portray/1 for HTML rendering of terms.", 'SWI-Prolog/packages-pengines').
 1122changelog_event(portray_clause/1, enhanced, 80518, 1663939290, "e0c9a39a9b4a06f8c99343be5dec5192383a3775", "ENHANCED: portray_clause/1: add space after `(?- goal)`.", 'SWI-Prolog/swipl-devel').
 1123changelog_event(portray_clause/1, fixed, 80130, 1588176485, "a6d7f63a93da9512f5eb260512852ce5b936f994", "FIXED: portray_clause/1 layout for lists in wrapped terms.", 'SWI-Prolog/swipl-devel').
 1124changelog_event(portray_clause/1, modified, 80307, 1598379932, "b6e96240c4e113ccd72d1a03dc2e3e3c67c94e25", "MODIFIED: portray_clause/1,2,3: portray `(a,b),c` the same as `a,(b,c)`. This is compatible with SICStus and makes sense as the compiler also compiles both shapes to the same code.", 'SWI-Prolog/swipl-devel').
 1125changelog_event(portray_clause/2, enhanced, 80200, 1590331430, "3ea505a8ee016c57a360dfc0c95bd881ff7e9340", "ENHANCED: Issue#218: portray_clause/2,3 to handle variable_names(Bindings) option (Markus Triska) and move documentation from the core to PlDoc docs from library(listing).", 'SWI-Prolog/swipl-devel').
 1126changelog_event(portray_clause/3, added, 80106, 1557914352, "4516ab20b1a0de729f69add18e353c5eb60e484e", "ADDED: portray_clause/3: indent(Indent) option.", 'SWI-Prolog/swipl-devel').
 1127changelog_event(pow/2, enhanced, 80125, 1583831146, "d3b542ee2d7d6318cd34f9f0bb8b75ae555f042a", "ENHANCED: Cover more pow/2 cases and add tests.", 'SWI-Prolog/swipl-devel').
 1128changelog_event(pow/2, fixed, 80125, 1584000140, "62dfabf23e816d9197884c20e443b6b79dd4bd81", "FIXED: pow/2 function: integer corner cases", 'SWI-Prolog/swipl-devel').
 1129changelog_event(powm/3, fixed, 90304, 1711469658, "88d3d5aed91ce292a2edf5945a83d91a8efec6c3", "FIXED: powm/3 function: wrong type check on 3rd argument.", 'SWI-Prolog/swipl-devel').
 1130changelog_event(pre_ground_object/2, fixed, 80513, 1655816484, "c922c64eef82f7f6cc0a174ad88cb5b4aa70045c", "FIXED: Better ordering of pre_ground_object/2 clauses", 'SWI-Prolog/packages-semweb').
 1131changelog_event(predicate_label/2, fixed, 80121, 1579252308, "ca3ee4a4a14ec3a8c4053e9b73a5dc8407be9140", "FIXED: xpce isue#17: predicate_label/2 should call prolog_predicate_name/2 using a _head_ rather than a _predicate indicator_.  Paulo Moura.", 'SWI-Prolog/swipl-devel').
 1132changelog_event(predicate_label/2, fixed, 90327, 1753884619, "8e7bdc58363434a4278045c2071993e7585a1c29", "FIXED: predicate_label/2: support `[]` as functor name", 'SWI-Prolog/swipl-devel').
 1133changelog_event(predicate_label/2, fixed, 100105, 1771934941, "dec2acf760a8571381fb6b554438bd7d90c8cacf", "FIXED: predicate_label/2: avoid importing targets into `system`.", 'SWI-Prolog/swipl-devel').
 1134changelog_event(predicate_options/3, fixed, 80304, 1594218380, "cbb164c12649b3820ed91c40120ee2b6090c9b8c", "FIXED: Added missing predicate_options/3 declarations for concurrent_forall/3 and concurrent_and/3.", 'SWI-Prolog/swipl-devel').
 1135changelog_event(predicate_property/2, added, 80106, 1557914202, "238830c821f461e8132a04c408fee5933dd6dbcf", "ADDED: predicate_property/2: tabled(How) property, compatible with XSB.", 'SWI-Prolog/swipl-devel').
 1136changelog_event(predicate_property/2, added, 80113, 1566984991, "fe576ddb7e282b4e11f91c2d3cd89565dddf949d", "ADDED: predicate_property/2: provide access to table options through the tabled(Flag) property.  Currently supports `shared` and `incremental` in addition to the mode (`variant` or `subsumptive`).", 'SWI-Prolog/swipl-devel').
 1137changelog_event(predicate_property/2, added, 80113, 1567072589, "4d1420265267703aa4a8b53b517e0fb51533dabe", "ADDED: predicate_property/2: `tabled` option without flags to enumerate all tabled predicates without duplicates.", 'SWI-Prolog/swipl-devel').
 1138changelog_event(predicate_property/2, added, 80127, 1585561270, "287841b294ccec74d9926bc94e5dc1a513c06513", "ADDED: predicate_property/2: size(-Bytes)", 'SWI-Prolog/swipl-devel').
 1139changelog_event(predicate_property/2, added, 80328, 1626354140, "f366736edce5c642add2bd37b0c7be1f27f808b4", "ADDED: predicate_property/2 property `discontiguous` to reflect the effect of the discontiguous/1 directive.", 'SWI-Prolog/swipl-devel').
 1140changelog_event(predicate_property/2, added, 90319, 1736764761, "c0bc30f6373158ee594efd2048b01b50091a3fe1", "ADDED: mode/1 and predicate_property/2 property mode(-Head)", 'SWI-Prolog/swipl-devel').
 1141changelog_event(predicate_property/2, fixed, 80509, 1646823088, "770879e9d5a230472437b44d480d891540996b49", "FIXED: predicate_property/2 on `visible` for zero-argument goals could raise an exception.", 'SWI-Prolog/swipl-devel').
 1142changelog_event(predicate_property/2, fixed, 100105, 1773235824, "1787880ad047259a8d962822c8e474dbcc662aba", "FIXED: QLF compilation: preserve `non_terminal` predicate_property/2.", 'SWI-Prolog/swipl-devel').
 1143changelog_event(predicate_property/2, modified, 90319, 1737540031, "97f90ebdf929a44976a1f7f8079bff2146c4bdc5", "MODIFIED: predicate_property/2 indexed(-Indexes) property", 'SWI-Prolog/swipl-devel').
 1144changelog_event(pretty_print/2, fixed, 90122, 1702997777, "99fda36675d3fc787a76e92fbf4cba97c252dd3e", "FIXED: pretty_print/2 to deal with bobs around an operator.", 'SWI-Prolog/swipl-devel').
 1145changelog_event(print_last_choicepoint/0, introduced, 80504, 1639756528, "f3c5e1d9118652b8882dabf05fb8f478ac1925c4", "ADDED: print_last_choicepoint/0,2.", 'SWI-Prolog/swipl-devel').
 1146changelog_event(print_last_choicepoint/2, introduced, 80504, 1639756528, "f3c5e1d9118652b8882dabf05fb8f478ac1925c4", "ADDED: print_last_choicepoint/0,2.", 'SWI-Prolog/swipl-devel').
 1147changelog_event(print_markdown/2, introduced, 90121, 1702393441, "8295f58f576024eee5afb83aa7592940d0b69ded", "ADDED: print_markdown/2 to emit a string as markdown.", 'SWI-Prolog/packages-pldoc').
 1148changelog_event(print_message/2, added, 80501, 1634916522, "200910a883bd40518d73b49747cf3f25e80e8c81", "ADDED: print_message/2: Allow message term to text translation to be language specific.", 'SWI-Prolog/swipl-devel').
 1149changelog_event(print_message/2, added, 80501, 1635068065, "34b0b3578d2b8e3355749ad8675b2b1ae3258ffe", "ADDED: print_message/2: language detection for Windows for message generation.", 'SWI-Prolog/swipl-devel').
 1150changelog_event(print_message/2, added, 90313, 1728391152, "4ddb5907ebce1c98a028a69524cc6cf3ef44ce11", "ADDED: PL_print_message() for calling print_message/2 from C", 'SWI-Prolog/swipl-devel').
 1151changelog_event(print_message/2, enhanced, 80122, 1581671586, "9bbd9cc5757c2c60a509ca9b80d483d54a67d8e6", "ENHANCED: Trapping recursive autoloading, debug/3 and print_message/2.  Not really ideal yet, but at least a plain system error is avoided and some context is provided.", 'SWI-Prolog/swipl-devel').
 1152changelog_event(print_message/2, enhanced, 80123, 1582278939, "734fc6be1ad73f08b9e5dd7c299f5342163be992", "ENHANCED: Allow for nested print_message/2, only preventing real unbounded recursion.", 'SWI-Prolog/swipl-devel').
 1153changelog_event(print_message/2, enhanced, 80320, 1614239478, "36345c3007ce94b9e280cf03ed660a52b3b890d9", "ENHANCED: Abstract put_char(user_error, '.'), etc. to use print_message/2 so we can change and suppress these messages.", 'SWI-Prolog/packages-plunit').
 1154changelog_event(print_message/2, enhanced, 90108, 1677858131, "308c9221b3676062c1ff46c13fa3782cd3311e39", "ENHANCED: If we fail to print an exception message through print_message/2, print the raw exception.", 'SWI-Prolog/swipl-devel').
 1155changelog_event(print_message/2, fixed, 80501, 1635068278, "ee31889af8c53410d704184828116c770eb3670c", "FIXED: Re-enable prolog:message//1 hook for print_message/2.", 'SWI-Prolog/swipl-devel').
 1156changelog_event(print_message/2, fixed, 80520, 1666037302, "080117e3d460c7cd0e164712314e90b76db4d332", "FIXED: Issue in recursion checking of print_message/2.", 'SWI-Prolog/swipl-devel').
 1157changelog_event(print_message/2, fixed, 90112, 1690384986, "33042380c54b278f50c352cb76a056a0b769f19d", "FIXED: call print_message/2 for begin/end unit also when tests run in paralel", 'SWI-Prolog/packages-plunit').
 1158changelog_event(print_message/2, modified, 80101, 1549032185, "5f9a3d6615ce9afa14f47d3931ff369b70dc17bf", "MODIFIED: No longer use print_message/2 for `trace_gc`.  If GC happens in some parts inside the VM we cannot handle calls to Prolog safely.", 'SWI-Prolog/swipl-devel').
 1159changelog_event(print_prolog_backtrace/3, added, 90321, 1739970153, "47651761783d5a34d75d8e035076393eaf9f0fe6", "ADDED: print_prolog_backtrace/3: show_files(+How) option", 'SWI-Prolog/swipl-devel').
 1160changelog_event(print_term/1, enhanced, 80507, 1643042293, "7eaa5a6abfac259df5f76b8c993f3d5194b3f6c7", "ENHANCED: print_term/1,2: actually handle the `left_margin` option (fix) and make its default the current column.", 'SWI-Prolog/swipl-devel').
 1161changelog_event(print_term/1, fixed, 80507, 1643041174, "99170266864bbbfd8ec7656ae84f4f05070a62eb", "FIXED: print_term/1,2: avoid dependency on library(backcomp).", 'SWI-Prolog/swipl-devel').
 1162changelog_event(print_term/2, added, 80505, 1640184374, "07f7ecdb6d6cecba4c26a277b96396ad8a1a4faf", "ADDED: print_term/2: options fullstop(Boolean) and nl(Bool).   Also lots of documentation restyling and removed old conditional compilation.", 'SWI-Prolog/swipl-devel').
 1163changelog_event(print_term/2, added, 90109, 1682427715, "632d40696b527ecd0a2e66b307748bfdae29f2da", "ADDED: print_term/2: option auto_indent_arguments(Int)", 'SWI-Prolog/swipl-devel').
 1164changelog_event(print_term/2, enhanced, 80122, 1581079281, "53fe62232e8450440e6d5da13a590838ce1c7e4f", "ENHANCED: print_term/2: integrate parts with Pengines term//2 to convert a term into HTML.  Used to avoid unnecessary spacing around operators.", 'SWI-Prolog/swipl-devel').
 1165changelog_event(print_term/2, enhanced, 80505, 1640179992, "1ccebef5de5588a0d45bec2a2c1f156ce14e86de", "ENHANCED: print_term/2 to deal with operator expressions that exceed the line width.", 'SWI-Prolog/swipl-devel').
 1166changelog_event(print_term/2, fixed, 80104, 1553415918, "cb97020bf84b56c8864a7b9c1b4009c1a31a2511", "FIXED: print_term/2 to print zero-argument compounds.  Peter Ludemann.", 'SWI-Prolog/swipl-devel').
 1167changelog_event(print_term/2, fixed, 80122, 1581181285, "31d65f1c2a3851ded9d24fe48ccf3299155104c4", "FIXED: Graphical debugger: avoid duplicate option key `expose` (crashes new print_term/2).", 'SWI-Prolog/packages-xpce').
 1168changelog_event(print_term/2, fixed, 80123, 1581925802, "d6b236b5de87111e5356b1b00a2d67c63027b3af", "FIXED: print_term/2: handle spacing for postfix operators.", 'SWI-Prolog/swipl-devel').
 1169changelog_event(print_term/2, fixed, 80123, 1582019936, "bea87bfb6094090e1bfcb9afa39989ca20f41a2c", "FIXED: print_term/2: avoid quoting _solo_ operators such as ','.", 'SWI-Prolog/swipl-devel').
 1170changelog_event(print_term/2, fixed, 80123, 1582022091, "e18abd45a75dd1fd7193c8b0bd76c387011e79de", "FIXED: print_term/2: add a spaces in `X + -1`.", 'SWI-Prolog/swipl-devel').
 1171changelog_event(print_term/2, fixed, 80123, 1582289119, "9123d76fc0f6bade4e18d6fd6c579d40917f46bc", "FIXED: print_term/2: could output '$VAR'(N) terms instead of the variable.", 'SWI-Prolog/swipl-devel').
 1172changelog_event(print_term/2, fixed, 80124, 1582456707, "ab98e5f22b36134a3f0a693a0aa8f3c4eff0b112", "FIXED: print_term/2: handle write_options(...)", 'SWI-Prolog/swipl-devel').
 1173changelog_event(print_term/2, fixed, 80318, 1610397437, "62bb72b389545b7b2e0d6d407c0237f38f628549", "FIXED: Issue#767: print_term/2 for printing zero-argument compounds.  Wouter Beek.", 'SWI-Prolog/swipl-devel').
 1174changelog_event(print_term/2, fixed, 80505, 1640170086, "b838ed3e7142b21384ec3f763790b16d89deddea", "FIXED: print_term/2: max priority of list elements and compound term arguments to 999 to force parenthesis.", 'SWI-Prolog/swipl-devel').
 1175changelog_event(print_term/2, fixed, 80505, 1640272996, "3e33f4db4edb61f41cb693f082fb4f80ef71deb8", "FIXED: print_term/2: respect write options when computing with of native output.", 'SWI-Prolog/swipl-devel').
 1176changelog_event(print_term/2, fixed, 80505, 1640605395, "c5debf24d43f8d4791b432ce34debc9b10024592", "FIXED: print_term/2 from entering a loop.  Also fixes unneeded parenthesis in lists.", 'SWI-Prolog/swipl-devel').
 1177changelog_event(print_term/2, fixed, 80505, 1641579068, "2c3197e970800d2fb54f1f3e82f34da36a2de965", "FIXED: print_term/2 handling of postfix operators.", 'SWI-Prolog/swipl-devel').
 1178changelog_event(print_term/2, fixed, 90309, 1722955486, "9362c703cd3f27170eda11a0a79728133724b6be", "FIXED: print_term/2 to add a space behind : when printing dicts vertically.", 'SWI-Prolog/swipl-devel').
 1179changelog_event(print_term/2, fixed, 90313, 1728380856, "f765db13d9f2d1b530a82281d82bde6001996b22", "FIXED: print_term/2: indentation of right argument of infix term.", 'SWI-Prolog/swipl-devel').
 1180changelog_event(print_term/2, fixed, 90317, 1733823353, "8763ba3cf80bf62bb5b838d0495f98bc4afd58c9", "FIXED: print_term/2: proper handling of operators(Ops)", 'SWI-Prolog/swipl-devel').
 1181changelog_event(print_term/2, modified, 80505, 1640268032, "60a199e6d88eaae5bc47a6fa982980e4109015ed", "MODIFIED: print_term/2 to get the default right margin from tty_size if the output is a tty and tty_size/2 succeeds.", 'SWI-Prolog/swipl-devel').
 1182changelog_event(print_term/2, modified, 90326, 1751363272, "d663d346245c7b2ca97a959f1fabcafa33f2e2dd", "MODIFIED: print_term/2: print dict tags and compound functors using the current write options.", 'SWI-Prolog/swipl-devel').
 1183changelog_event(process_create/3, added, 80110, 1562429247, "1bfb042e79897b14520c265ab635d97c409f8c7c", "ADDED: process_create/3: stream(+Stream) value for the inputs and outputs, adding ability to pass a handle to an open filed to a process.", 'SWI-Prolog/packages-clib').
 1184changelog_event(process_create/3, added, 80318, 1611418325, "5595c0a6efea9d9fba488a291bc409f7a6503820", "ADDED: process_create/3: SICStus 4 compatible pipe(Pipe,Options) option supporting type(Type) and encoding(Encoding).", 'SWI-Prolog/packages-clib').
 1185changelog_event(process_create/3, added, 90335, 1763549206, "d85c7865e7a421bd52fa9b0c6064d0a89de4db15", "ADDED: process_create/3: specify program as prolog(Tool)", 'SWI-Prolog/packages-clib').
 1186changelog_event(process_create/3, enhanced, 80324, 1619941753, "8c613e9a5e6d3e568a11a6769bb2d9eb934904dc", "ENHANCED: process_create/3: better error message if executable could not be found.", 'SWI-Prolog/packages-clib').
 1187changelog_event(process_create/3, enhanced, 100112, 1784208994, "9e3b73c312b848c06fa33bf0021de645c7fc21b2", "ENHANCED: process_create/3 uses PL_scan_options()", 'SWI-Prolog/packages-clib').
 1188changelog_event(process_create/3, fixed, 80120, 1577524297, "3c37181b7b3ac5bfc785be6a41ab0a9121de4c5a", "FIXED: process_create/3: `stderr` was sent to `stdout`.  Reported by Jos Deroo.", 'SWI-Prolog/packages-clib').
 1189changelog_event(process_create/3, fixed, 80403, 1654600546, "498f06e41670a94025972e23fda40bcb095dc97f", "FIXED: process_create/3: double env/environment option raised an assertion failure.  Now raises a permission error.", 'SWI-Prolog/packages-clib').
 1190changelog_event(process_create/3, fixed, 80403, 1654602582, "dd66995c39638ee12b538439f9399fe014023a84", "FIXED: process_create/3: Windows: make environment(List) inherit the environment as documented.", 'SWI-Prolog/packages-clib').
 1191changelog_event(process_create/3, fixed, 80403, 1654603315, "0123be4d1950a4255e66674ee2fd6d42cc7c1e9e", "FIXED: process_create/3: allow `env([])`.", 'SWI-Prolog/packages-clib').
 1192changelog_event(process_create/3, fixed, 90119, 1699031606, "737673649a01691b39f3a6545b9446e8dc699883", "FIXED: process_create/3: Allow `user_input` (file_no 0) for stream(S)", 'SWI-Prolog/packages-clib').
 1193changelog_event(process_create/3, fixed, 100111, 1782457116, "121c9375ba4323839ba27fbce3a9264e94528732", "FIXED: process_create/3: restore signal mask in child before exec", 'SWI-Prolog/packages-clib').
 1194changelog_event(process_create/3, fixed, 100113, 1785781058, "04877e19dc36ba13b865e747244666085e4901d7", "FIXED: process_create/3 adopts the terminal it was handed", 'SWI-Prolog/packages-clib').
 1195changelog_event(process_create/3, fixed, 100113, 1785924097, "a7fa3c0fb4fca92959b6fd4de9dccd98b0b652e3", "FIXED: Windows: process_create/3 gave its child no terminal", 'SWI-Prolog/packages-clib').
 1196changelog_event(process_create/3, modified, 80120, 1577115657, "9ea716e2c90fc359f03b1a838d9b764ca683608f", "MODIFIED: process_create/3: `std` I/O now uses the file handles underlying `user_input`, `user_output` and `user_error` rather than the hard coded 0,1,2.  This allows using process_create/3 with standard handles in secondary consoles.", 'SWI-Prolog/packages-clib').
 1197changelog_event(process_which/2, introduced, 90122, 1706176084, "954ed0b8100fa99585d009621590d919af985190", "ADDED: process_which/2 to find executable.", 'SWI-Prolog/packages-clib').
 1198changelog_event(profile/1, enhanced, 90327, 1753527452, "b6e867c58b52a5785c1a0a78df00294adb962610", "ENHANCED: Update profile/1,2 text output", 'SWI-Prolog/swipl-devel').
 1199changelog_event(profile/1, fixed, 80503, 1637601361, "02d80277938d8b1af7439fd5926d06db3092ac95", "FIXED: profile/1 involving code executed in a temporary module.", 'SWI-Prolog/swipl-devel').
 1200changelog_event(profile/2, added, 90108, 1678382756, "360602ac8ffd3c00c63a16eb1dbbb15cade99e04", "ADDED: profile/2: options sample_rate(+Rate) and ports(+Ports).", 'SWI-Prolog/swipl-devel').
 1201changelog_event(profile/2, fixed, 80115, 1569583210, "e7161350548d9f957f27cc795fa4c288f7e81301", "FIXED: profile/2 using cumulative(true) without GUI.  Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
 1202changelog_event(profile_data/1, enhanced, 80114, 1568991765, "f8ff6d50899fa8e25824ba0be67c5af3663d4a1c", "ENHANCED: profile_data/1: find predicates from the stored call graph rather than enumerating all known predicates.  Provides a big speedup.", 'SWI-Prolog/swipl-devel').
 1203changelog_event(profile_data/1, fixed, 80115, 1569399594, "c1f9972948fee7805f71b154811be4b194a8a60b", "FIXED: profile_data/1.  Broken after adding profile_procedure_data/2.", 'SWI-Prolog/swipl-devel').
 1204changelog_event(profile_data/1, introduced, 80114, 1568911369, "5872e570c27ee1f23b3db82810decb28be73308b", "ADDED: profile_data/1 to library(statistics) and use dicts for dealing with the profile data structures.", 'SWI-Prolog/swipl-devel').
 1205changelog_event(profile_procedure_data/2, introduced, 80115, 1569333886, "a1c4a03e85c71f9724af1f92f54db70460c637fb", "ADDED: profile_procedure_data/2 to quickly interrogate individual predicates.", 'SWI-Prolog/swipl-devel').
 1206changelog_event(projecting_assert/1, enhanced, 80327, 1624948880, "0929ec9f4e3b71b2423bbaf691fffa9865f0f883", "ENHANCED: Use high level copy built-ins to realize dump/3 and  projecting_assert/1. Share code between these.", 'SWI-Prolog/packages-clpqr').
 1207changelog_event(prolog_choice_attribute/3, added, 80504, 1639038977, "aeea6cdd4f7d6837d71a6a7f0bc94f2fe0a9b9a9", "ADDED: prolog_choice_attribute/3: `clause` attribute to find the next candidate clause.", 'SWI-Prolog/swipl-devel').
 1208changelog_event(prolog_close_source/1, added, 100110, 1781971230, "1d0fcf8ba4331bd0b775524795c845f31de95d7d", "ADDED: prolog_open_source/2, prolog_close_source/1 and prolog_file_directives/3 to accept a stream", 'SWI-Prolog/swipl-devel').
 1209changelog_event(prolog_close_source/1, fixed, 100110, 1782223003, "6354069131dea2aec2919ca8bc8660afb691cb9e", "FIXED: prolog_close_source/1: close on hooked (xref) open.", 'SWI-Prolog/swipl-devel').
 1210changelog_event(prolog_colourise_stream/4, introduced, 80113, 1566813522, "c96a131f9c02eee34045ac9ced4a8a349c878470", "ADDED: prolog_colourise_stream/4, providing an operators(+Ops) option.", 'SWI-Prolog/swipl-devel').
 1211changelog_event(prolog_colourise_term/4, added, 90322, 1742908882, "5f9037b3f054571b21875119d9322ca906d0d700", "ADDED: prolog_colourise_term/4: option current_variable(Name)", 'SWI-Prolog/swipl-devel').
 1212changelog_event(prolog_config/2, introduced, 90122, 1705084361, "70b3191786070dcc54b61734be6030f7ae26cba9", "ADDED: Prolog environment variable ``SWIPL_PACK_PATH``", 'SWI-Prolog/swipl-devel').
 1213changelog_event(prolog_exception_hook/4, fixed, 80501, 1633954313, "43ff46aefc2745ea5424dffba875879d1ba0df1b", "FIXED: Delay signals in prolog_exception_hook/4.", 'SWI-Prolog/swipl-devel').
 1214changelog_event(prolog_exception_hook/4, modified, 90107, 1677403307, "e23c141be2f071b450f0d39981ac53251e1bd4f1", "MODIFIED:  Renamed exception processing hook user:prolog_exception_hook/4 into prolog:prolog_exception_hook/5, providing an additional argument that contains the current setting of the `debug` flag.  Note that we cannot ask for this flag as the hook runs in \"nodebug\" mode.   As the change is incompatible anyway, we also move the hook to the `prolog` module where the modern system hooks live.", 'SWI-Prolog/swipl-devel').
 1215changelog_event(prolog_file_directives/3, added, 100110, 1781971230, "1d0fcf8ba4331bd0b775524795c845f31de95d7d", "ADDED: prolog_open_source/2, prolog_close_source/1 and prolog_file_directives/3 to accept a stream", 'SWI-Prolog/swipl-devel').
 1216changelog_event(prolog_file_directives/3, introduced, 90322, 1742657380, "5eb978cf99d986d839d735abb11a1f3539e27943", "ADDED: prolog_file_directives/3", 'SWI-Prolog/swipl-devel').
 1217changelog_event(prolog_frame_attribute/3, added, 80120, 1577978807, "715aa8f75e0e2028af159553c062c79e122f1219", "ADDED: prolog_frame_attribute/3: attribute `parent_goal(Next)` to allow enumeration of parent goals.   Needed for the new library(intercept).", 'SWI-Prolog/swipl-devel').
 1218changelog_event(prolog_frame_attribute/3, enhanced, 90315, 1731853190, "408f27af35df87b7a375294b5fb77145077e538e", "ENHANCED: prolog_frame_attribute/3: Better argument validation.", 'SWI-Prolog/swipl-devel').
 1219changelog_event(prolog_frame_attribute/3, fixed, 80301, 1591259735, "35f32c203a172c28eee103328931df267d182370", "FIXED: prolog_frame_attribute/3 getting local variables for a frame after backtracking to the next clause could unify with a non-initialized var.", 'SWI-Prolog/swipl-devel').
 1220changelog_event(prolog_frame_attribute/3, fixed, 90001, 1670173825, "ca32656a4a57bd93fcc045cefc40f3fff5d0f989", "FIXED: Error handling if prolog_frame_attribute/3 using `parent_frame` runs out of stack.", 'SWI-Prolog/swipl-devel').
 1221changelog_event(prolog_frame_attribute/3, fixed, 90332, 1759937468, "435ae1f40f919ab1dc3f2005baed336be49c5b43", "FIXED: instantiation errors on prolog_frame_attribute/3 on exceptions.", 'SWI-Prolog/swipl-devel').
 1222changelog_event(prolog_interrupt/0, introduced, 90000, 1669051189, "6a3f4ef304fe85fa01b295791242b7e608a66413", "ADDED: prolog_interrupt/0 to make a thread behave as if SIGINT is received using thread_signal/2.", 'SWI-Prolog/swipl-devel').
 1223changelog_event(prolog_listen/2, added, 80314, 1605791621, "7c804f991fb17a0226df794f9f6a4debc49e632e", "ADDED: Track events on answer tries using prolog_listen/2,3", 'SWI-Prolog/swipl-devel').
 1224changelog_event(prolog_listen/2, added, 80500, 1632384604, "fd9980b211bdb93f7095814dd1dbafc95ea1f539", "ADDED: prolog_listen/2,3: listen to thread create events.", 'SWI-Prolog/swipl-devel').
 1225changelog_event(prolog_listen/2, introduced, 80109, 1561293780, "c3d497ee0fb9f405dce078fbb0e845f3d54284d1", "ADDED: prolog_listen/2,3 and prolog_unlisten/2 to register hooks into the Prolog engine that allow trapping certain events.  This replaces and generalises the undocumented prolog_event_hook/1 hook used by the debugger.", 'SWI-Prolog/swipl-devel').
 1226changelog_event(prolog_listen/3, added, 80314, 1606219499, "9163d3c2b8dbcc1d60f22d87bc51b659cc979e60", "ADDED: prolog_listen/3: allow naming an event callback using a name(Name) option.  Registering a callback on the same channel with the same name _updates_ the associated goal rather than adding a new one.", 'SWI-Prolog/swipl-devel').
 1227changelog_event(prolog_listen/3, introduced, 80109, 1561293780, "c3d497ee0fb9f405dce078fbb0e845f3d54284d1", "ADDED: prolog_listen/2,3 and prolog_unlisten/2 to register hooks into the Prolog engine that allow trapping certain events.  This replaces and generalises the undocumented prolog_event_hook/1 hook used by the debugger.", 'SWI-Prolog/swipl-devel').
 1228changelog_event(prolog_listen/3, modified, 80301, 1591111079, "ddfce3647fd86ec296269c511279a19b94098db0", "MODIFIED: prolog_listen/3: when listening on a dynamic predicate, assert the new clause before calling the event hook.", 'SWI-Prolog/swipl-devel').
 1229changelog_event(prolog_load_context/2, fixed, 80101, 1548242480, "9f51be67812370c6b814d76459f59f8736d62921", "FIXED: prolog_load_context/2 to provide the correct `file`, `source` and `directory` before the first term.", 'SWI-Prolog/swipl-devel').
 1230changelog_event(prolog_load_context/2, fixed, 90323, 1743757212, "f94d92735730963cdfe5cbdbd34892c6b1ce5738", "FIXED: prolog_load_context/2 for `file` to work correctly for .qlf.", 'SWI-Prolog/swipl-devel').
 1231changelog_event(prolog_open_source/2, added, 100110, 1781971230, "1d0fcf8ba4331bd0b775524795c845f31de95d7d", "ADDED: prolog_open_source/2, prolog_close_source/1 and prolog_file_directives/3 to accept a stream", 'SWI-Prolog/swipl-devel').
 1232changelog_event(prolog_program_clause/2, fixed, 80124, 1582821426, "35b3e8d22943f45d7e2657e7a42672a8d28a9738", "FIXED: prolog_program_clause/2: allow filtering on a specific module as the docs says is possible.", 'SWI-Prolog/swipl-devel').
 1233changelog_event(prolog_read_source_term/4, fixed, 90327, 1753349524, "e9d7ee35918316a05c7538733dc7f8eef9615ef2", "FIXED: prolog_read_source_term/4L respect ``:- encoding(+Enc)``", 'SWI-Prolog/swipl-devel').
 1234changelog_event(prolog_server/2, enhanced, 80518, 1664184307, "aca2f2f5b788df54026d348577f38c8297a531f7", "ENHANCED: prolog_server/2: ensure the server thread terminates, also if the client disappears with an error.   Improved docs.", 'SWI-Prolog/packages-clib').
 1235changelog_event(prolog_server/2, enhanced, 90109, 1680512653, "7fa161a2d2e2fff47d70219a716b52411ba2478e", "ENHANCED: prolog_server/2: if tcp_host_to_address/2 raises an exception or fails, just use the Peer in the thread alias, rather than having the server thread die", 'SWI-Prolog/packages-clib').
 1236changelog_event(prolog_set_IO/3, fixed, 80518, 1664196708, "129ce7f6f9836bf98400f6c7122f33144eb32fc5", "FIXED: prolog_set_IO/3: stderr wrapper interpreted return code from low-level output wrong.   This causes problems if output is connected to a socket as used by prolog_server/2.", 'SWI-Prolog/swipl-devel').
 1237changelog_event(prolog_stack_frame_property/2, fixed, 90104, 1674127587, "7542b8ca57368922b671500bdbf372754b013195", "FIXED: prolog_stack_frame_property/2 for the predicate property.", 'SWI-Prolog/swipl-devel').
 1238changelog_event(prolog_trace_interception/4, added, 90327, 1753868681, "ff597a293c6f8cb6f2642838a26e4daabec4dfa3", "ADDED: prolog_trace_interception/4: support `halt`", 'SWI-Prolog/swipl-devel').
 1239changelog_event(prolog_trace_interception/4, fixed, 90315, 1731918542, "c1ce6d36d4e228536522ee49bad067c53a7f3b4b", "FIXED: prolog_trace_interception/4: setting up the hook good crash.", 'SWI-Prolog/swipl-devel').
 1240changelog_event(prolog_trace_interception/4, fixed, 90327, 1753868731, "d59330ba48b9f85a5bdfd7fe3e9c11df9e6a0ac3", "FIXED: Exploit new prolog_trace_interception/4 `halt`", 'SWI-Prolog/packages-xpce').
 1241changelog_event(prolog_unlisten/2, fixed, 80509, 1647435717, "ca5e1f1967ac8ceb7c3bf987c7a319f47d5c5300", "FIXED: memory leak on prolog_unlisten/2.", 'SWI-Prolog/swipl-devel').
 1242changelog_event(prolog_unlisten/2, introduced, 80109, 1561293780, "c3d497ee0fb9f405dce078fbb0e845f3d54284d1", "ADDED: prolog_listen/2,3 and prolog_unlisten/2 to register hooks into the Prolog engine that allow trapping certain events.  This replaces and generalises the undocumented prolog_event_hook/1 hook used by the debugger.", 'SWI-Prolog/swipl-devel').
 1243changelog_event(prolog_walk_code/1, added, 80128, 1586170436, "f4d6725d48d41f8d2784c70eabfc506d6e383b9f", "ADDED: prolog_walk_code/1: option trace_condition/1.", 'SWI-Prolog/swipl-devel').
 1244changelog_event(prolog_walk_code/1, added, 90000, 1666791928, "470b79ae261ff23dd641537e6ff323e1efa55cb9", "ADDED: prolog_walk_code/1: option walk_meta_predicates(+Boolean) to prevent the code walker from considering meta-predicates.  There are few cases where this is interesting, but it was needed for constructing a s(CASP) dependency graph.", 'SWI-Prolog/swipl-devel').
 1245changelog_event(prolog_walk_code/1, fixed, 80327, 1625062798, "2fcc985af6bc9f4f40d1233d666a13d3ff341fa4", "FIXED: Issue#853: prolog_walk_code/1 did not respect the module_class option, scanning all modules.", 'SWI-Prolog/swipl-devel').
 1246changelog_event(prolog_walk_code/1, fixed, 90305, 1714128791, "c3317b714190535fa5595e90e79a0be5545f5469", "FIXED: prolog_walk_code/1: no matching rule from goals reached from a :- initialization.", 'SWI-Prolog/swipl-devel').
 1247changelog_event(prolog_walk_code/3, added, 80519, 1665850103, "cbdf36887ed6d29ef4ba4fc058dc12f808b7e87b", "ADDED: prolog_walk_code/3 option `on_edge` which is similar to `on_trace`, but provide easier to understand source locations.", 'SWI-Prolog/swipl-devel').
 1248changelog_event(prompt1/1, added, 90321, 1740663758, "df69dc7a68ed48935d6e367e2cc12cb68eed7dce", "ADDED: prompt1/1 can retrieve current prompt using a variable.", 'SWI-Prolog/swipl-devel').
 1249changelog_event(prompt1/1, fixed, 90321, 1741347829, "4bbab70566fe25b10723fa644e636229b14491f3", "FIXED: prompt1/1 called in mode (-) must fail if there is no \"first\" prompt.", 'SWI-Prolog/swipl-devel').
 1250changelog_event(protobuf_parse_from_codes/3, added, 80327, 1623859322, "c25d0814b90009a48bcd017c9243b753f17f3ea3", "ADDED: protobuf_parse_from_codes/3 (using output of protoc-gen-swipl plugin)", 'SWI-Prolog/contrib-protobufs').
 1251changelog_event(protobuf_segment_convert/2, introduced, 80323, 1619194963, "db8c67301e74f4cf402a4bcd62955247f53c7c37", "ADDED: protobuf_segment_message/2 heuristics to match protoc --decode_raw functionality", 'SWI-Prolog/contrib-protobufs').
 1252changelog_event(protobuf_segment_message/2, added, 80323, 1619194963, "db8c67301e74f4cf402a4bcd62955247f53c7c37", "ADDED: protobuf_segment_message/2 heuristics to match protoc --decode_raw functionality", 'SWI-Prolog/contrib-protobufs').
 1253changelog_event(protobuf_segment_message/2, introduced, 80323, 1619194933, "2c79244f3584c70cfc373e09b91ed8c1d326bb9c", "ADDED: protobuf_segment_message/2 and export the low-level conversion predicates", 'SWI-Prolog/contrib-protobufs').
 1254changelog_event(protobuf_serialize_to_codes/3, added, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
 1255changelog_event(push_msg/2, enhanced, 90315, 1730907729, "69e65a2152219ede4d610bdccc8e9cd709974713", "ENHANCED: Avoid spurious tracing in push_msg/2.", 'SWI-Prolog/swipl-devel').
 1256changelog_event(push_prolog_flag/2, enhanced, 100112, 1783769931, "98705a2252e6bb57c5de1e356685744117c76ea8", "ENHANCED: use push_prolog_flag/2 for stack_limit save/restore in with_small_stacks/2", 'SWI-Prolog/packages-cpp').
 1257changelog_event(push_prolog_flag/2, enhanced, 100112, 1783769933, "03877b483beba866ee6504ac7ab50e82316bd393", "ENHANCED: use push_prolog_flag/2 in with_quote_flags/3", 'SWI-Prolog/packages-libedit').
 1258changelog_event(push_prolog_flag/2, enhanced, 100112, 1783769936, "a056ed60bc61f367ed674fcb57d112f773ac219d", "ENHANCED: use push_prolog_flag/2 for tmp_dir save/restore", 'SWI-Prolog/packages-mqi').
 1259changelog_event(push_prolog_flag/2, enhanced, 100112, 1783769937, "5cb383ad6e471b3d8fd0ca93dfa9f6fc174579c1", "ENHANCED: use push_prolog_flag/2 for occurs_check in run_test_once/6", 'SWI-Prolog/packages-plunit').
 1260changelog_event(push_prolog_flag/2, enhanced, 100112, 1783769945, "87d5eb4e663e851e9737551f30658fe62e95e1e6", "ENHANCED: use push_prolog_flag/2 for agc_margin save/restore", 'SWI-Prolog/packages-semweb').
 1261changelog_event(push_prolog_flag/2, enhanced, 100112, 1783769947, "42f85dcbb439b57e77414ce44bf39a177987e16f", "ENHANCED: use push_prolog_flag/2 for flag scoping", 'SWI-Prolog/packages-xpce').
 1262changelog_event(push_prolog_flag/2, enhanced, 100112, 1783772690, "f7434368c1cd2fc76d9920d33f5f0bb012fdbb79", "ENHANCED: use push_prolog_flag/2 for xref-flag scoping", 'SWI-Prolog/swipl-devel').
 1263changelog_event(push_prolog_flag/2, fixed, 100112, 1783780451, "6faa15e345c63738d074e1fe0d65ac1f70160f7f", "FIXED: single-threaded build of push_prolog_flag/2 and pop_prolog_flag/1", 'SWI-Prolog/swipl-devel').
 1264changelog_event(push_prolog_flag/2, introduced, 100112, 1783772687, "786ec52c1e0a5b11099b2b52fccef278b93b6399", "ADDED: push_prolog_flag/2 and pop_prolog_flag/1", 'SWI-Prolog/swipl-devel').
 1265changelog_event(put/1, fixed, 80125, 1584547768, "6bcd315cc924700a01b7565273b1a9d96511f5fe", "FIXED: ./3: (Dict.Func): allow built-in dict functions get/1, put/1 and put/2 to work on association lists.", 'SWI-Prolog/swipl-devel').
 1266changelog_event(put/2, fixed, 80125, 1584547768, "6bcd315cc924700a01b7565273b1a9d96511f5fe", "FIXED: ./3: (Dict.Func): allow built-in dict functions get/1, put/1 and put/2 to work on association lists.", 'SWI-Prolog/swipl-devel').
 1267changelog_event(put_char/1, added, 90308, 1717759362, "64a219e022374a81ff410988cb3a9a3cbdc31720", "ADDED: Add support for put_code/1 and put_char/1 to library(pengines_io)", 'SWI-Prolog/packages-pengines').
 1268changelog_event(put_code/1, added, 90308, 1717759362, "64a219e022374a81ff410988cb3a9a3cbdc31720", "ADDED: Add support for put_code/1 and put_char/1 to library(pengines_io)", 'SWI-Prolog/packages-pengines').
 1269changelog_event(py_add_lib_dir/1, fixed, 90207, 1725118237, "15b3d697a807513c4c59e4f62cb0a6aeb34ed6b6", "FIXED: py_add_lib_dir/1 and py_add_lib_dir/2", 'SWI-Prolog/packages-swipy').
 1270changelog_event(py_add_lib_dir/2, fixed, 90207, 1725118237, "15b3d697a807513c4c59e4f62cb0a6aeb34ed6b6", "FIXED: py_add_lib_dir/1 and py_add_lib_dir/2", 'SWI-Prolog/packages-swipy').
 1271changelog_event(py_call/1, added, 90112, 1690292234, "dba6e484bc70bddde9c486255de28cf65421bdf3", "ADDED: py_call/1: set attributes", 'SWI-Prolog/packages-swipy').
 1272changelog_event(py_call/1, introduced, 90112, 1690196340, "50ef7abb59970d51f0dbb5515f9abdc765aa87bc", "ADDED: Allow for stringified Prolog data using #Term", 'SWI-Prolog/packages-swipy').
 1273changelog_event(py_call/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1274changelog_event(py_call/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1275changelog_event(py_call/3, introduced, 90112, 1690745888, "294df917f3b843e5002e1cd35b4fe63c956fdd12", "ADDED: py_call/3, py_iter/3", 'SWI-Prolog/packages-swipy').
 1276changelog_event(py_call/3, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1277changelog_event(py_free/1, introduced, 90112, 1690297944, "80bf7b78135960ef7f1e870e2c0768c0b9d6b6b4", "ADDED: py_free/1", 'SWI-Prolog/packages-swipy').
 1278changelog_event(py_free/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1279changelog_event(py_gil_owner/1, introduced, 90117, 1696583036, "3c194582d020cddc480a609b863f34cc92e1b594", "ADDED: py_gil_owner/1.", 'SWI-Prolog/packages-swipy').
 1280changelog_event(py_hasattr/2, introduced, 90122, 1703105177, "b673c47ca0cb2bee3ab1c29a1e8ab3e0138a6099", "ADDED: Reflection predicates", 'SWI-Prolog/packages-swipy').
 1281changelog_event(py_import/2, introduced, 90203, 1711300999, "6f74b2792b0ed6b642905893c5354d4c1500fea2", "ADDED: py_import/2: Allows to import a module with a different name.", 'SWI-Prolog/packages-swipy').
 1282changelog_event(py_initialize/3, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1283changelog_event(py_initialize/3, modified, 90122, 1705150465, "0b05a69dd82b4dad4325b599c4b3f55a93a85b5b", "MODIFIED: Get the default arguments from py_initialize/3 from the flag `py_argv`", 'SWI-Prolog/packages-swipy').
 1284changelog_event(py_is_dict/1, introduced, 90120, 1700924835, "30a13aa14e465774081e4dab727f351f9b287ef0", "ADDED: Allow returning Python dicts as {K:V,...} terms.", 'SWI-Prolog/packages-swipy').
 1285changelog_event(py_is_object/1, fixed, 90205, 1715932549, "c8d3194a3cc3cc99bef38c6bfae8a93b35f76b46", "FIXED: py_is_object/1: Need to grab the GIL", 'SWI-Prolog/packages-swipy').
 1286changelog_event(py_isinstance/2, introduced, 90122, 1703105177, "b673c47ca0cb2bee3ab1c29a1e8ab3e0138a6099", "ADDED: Reflection predicates", 'SWI-Prolog/packages-swipy').
 1287changelog_event(py_iter/2, fixed, 90113, 1691335642, "2f6f9e5e477a703d47808077b0a7005cc3b91335", "FIXED: py_iter/2,3 synchronization", 'SWI-Prolog/packages-swipy').
 1288changelog_event(py_iter/2, fixed, 90114, 1691768570, "5df41ea5538416a11bd1198a92e824c4cf324b93", "FIXED: Memory leak in py_iter/2,3", 'SWI-Prolog/packages-swipy').
 1289changelog_event(py_iter/2, introduced, 90112, 1690542801, "18607526663c0d00e4e5e8531b7ffc2b06e89277", "ADDED: py_iter/2 to create a non-deterministic predicate from an Iterator.", 'SWI-Prolog/packages-swipy').
 1290changelog_event(py_iter/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1291changelog_event(py_iter/3, introduced, 90112, 1690745888, "294df917f3b843e5002e1cd35b4fe63c956fdd12", "ADDED: py_call/3, py_iter/3", 'SWI-Prolog/packages-swipy').
 1292changelog_event(py_iter/3, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1293changelog_event(py_lib_dirs/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1294changelog_event(py_load/2, introduced, 90119, 1699448189, "8a4df6407a2f48780cc1be8a2be6627a7ad850fe", "ADDED: py_load/2 to define a Python module from Prolog", 'SWI-Prolog/packages-swipy').
 1295changelog_event(py_module_exists/1, introduced, 90122, 1703105177, "b673c47ca0cb2bee3ab1c29a1e8ab3e0138a6099", "ADDED: Reflection predicates", 'SWI-Prolog/packages-swipy').
 1296changelog_event(py_object_dict/2, introduced, 90122, 1703105177, "b673c47ca0cb2bee3ab1c29a1e8ab3e0138a6099", "ADDED: Reflection predicates", 'SWI-Prolog/packages-swipy').
 1297changelog_event(py_object_dir/2, introduced, 90122, 1703105177, "b673c47ca0cb2bee3ab1c29a1e8ab3e0138a6099", "ADDED: Reflection predicates", 'SWI-Prolog/packages-swipy').
 1298changelog_event(py_object_type/2, introduced, 90122, 1703105177, "b673c47ca0cb2bee3ab1c29a1e8ab3e0138a6099", "ADDED: Reflection predicates", 'SWI-Prolog/packages-swipy').
 1299changelog_event(py_pp/1, added, 90117, 1696531578, "0559fbd6b37e5548ce2332ea84c7ee1e2f483ec4", "ADDED: py_pp/1-3: option nl(Bool) to add a newline.", 'SWI-Prolog/packages-swipy').
 1300changelog_event(py_pp/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1301changelog_event(py_pp/2, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1302changelog_event(py_pp/3, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1303changelog_event(py_shell/0, fixed, 90117, 1696609961, "4f9101446bd1c2da54c1d6358304cc169692af01", "FIXED: Allow clean exit from py_shell/0 using `quit()`", 'SWI-Prolog/packages-swipy').
 1304changelog_event(py_shell/0, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1305changelog_event(py_version/0, added, 90112, 1690363032, "29bbd226550ddad1c470b65eb97460f4bdd2a712", "ADDED: py_version/0 to quickly get relevant configuration info.", 'SWI-Prolog/packages-swipy').
 1306changelog_event(py_version/0, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1307changelog_event(py_with_gil/1, introduced, 90112, 1690285844, "3ddc1bb9a114df11cc5cb0fed59c8545dc3634d8", "ADDED: py_with_gil/1 and use the GIL in pl_call/1,2", 'SWI-Prolog/packages-swipy').
 1308changelog_event(py_with_gil/1, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1309changelog_event(pydot/4, introduced, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
 1310changelog_event(pydot/4, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1311changelog_event(pydot/5, introduced, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
 1312changelog_event(pydot/5, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1313changelog_event(pyfunc/3, introduced, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
 1314changelog_event(pyfunc/3, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1315changelog_event(pyfunc/4, introduced, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
 1316changelog_event(pyfunc/4, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1317changelog_event(pyfunc/5, introduced, 90112, 1690648948, "f4e479e1a8909898ac50f0849216a7ddaa38cb04", "ADDED: library(jns_utils), providing more XSB compatibility.", 'SWI-Prolog/packages-swipy').
 1318changelog_event(pyfunc/5, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1319changelog_event(qcompile/1, enhanced, 90322, 1742138342, "b6339a9dade108a4432d25f7c8d3397085bd9569", "ENHANCED: qcompile/1: preserve predicate properties", 'SWI-Prolog/swipl-devel').
 1320changelog_event(qcompile/1, fixed, 80101, 1548252270, "9f05c0c8600b665cd5aa78f69acadd065e0ee2f9", "FIXED: Allow qcompile/1 on files with a different implicit Prolog extension.", 'SWI-Prolog/swipl-devel').
 1321changelog_event(qcompile/2, added, 80518, 1663688435, "7c923a8e6d4ae2e000acc0c2819e3426d35ff6e5", "ADDED: qcompile/2: option `include(user)`.", 'SWI-Prolog/swipl-devel').
 1322changelog_event(qlf_make/0, fixed, 90323, 1744200159, "8af80645867bd82cb9c002d783632dd2a81aada7", "FIXED: qlf_make/0 for out-of-date computation for aggregate .qlf files.", 'SWI-Prolog/swipl-devel').
 1323changelog_event(qlf_make/0, introduced, 90322, 1742215767, "393ab0bdaa7e56fc336cda0366f4f5b8c6cebc6c", "ADDED: library(prolog_qlfmake)", 'SWI-Prolog/swipl-devel').
 1324changelog_event(qlf_make/1, introduced, 90322, 1742215767, "393ab0bdaa7e56fc336cda0366f4f5b8c6cebc6c", "ADDED: library(prolog_qlfmake)", 'SWI-Prolog/swipl-devel').
 1325changelog_event(qsave_program/2, added, 90306, 1714580499, "c5a8485053b8581122beb17a348403fd508e3ff0", "ADDED: qsave_program/2: ``--foreign=copy`` to copy DLLs for Windows.", 'SWI-Prolog/swipl-devel').
 1326changelog_event(qsave_program/2, added, 90336, 1764497919, "66cd5119b082b606580545a47b633c07082d10d7", "ADDED: qsave_program/2: option zip(true) to create a clean .zip file.", 'SWI-Prolog/swipl-devel').
 1327changelog_event(qsave_program/2, fixed, 80101, 1548332296, "6baf52a3f7f23cdf8cb054220cd60e8c6116413a", "FIXED: qsave_program/2: deal with `prolog` and `default` toplevels. Keri Harris.", 'SWI-Prolog/swipl-devel').
 1328changelog_event(qsave_program/2, fixed, 80506, 1641818476, "18690d80fbdc842a5bad3da1fb81a083e55b1b24", "FIXED: qsave_program/2: add missing load_module for shlib", 'SWI-Prolog/swipl-devel').
 1329changelog_event(qsave_program/2, fixed, 90331, 1757945337, "9af13e503b8dfed1793f625cb077856227a8a23f", "FIXED: qsave_program/2 determinism.", 'SWI-Prolog/swipl-devel').
 1330changelog_event(qsave_program/2, modified, 80307, 1599125760, "aacc496b48db36c6414a82f12dd02b766ab128d6", "MODIFIED: qsave_program/2: preserve the `autoload` flag in the calling process and preserve autoloading if it is enabled and the save class is `development`", 'SWI-Prolog/swipl-devel').
 1331changelog_event(qsave_program/2, modified, 80516, 1662364679, "d9bbda600dfb98f1a8b6e8666eebe6c98b668482", "MODIFIED: qsave_program/2 and compilation using ``-c`` to interpret the `--emulator=file`` flag (or emulator(Emulator) option) independently from the `--stand-alone`` option.   This allows creating non-stand-alone executables that use a specific emulator path.", 'SWI-Prolog/swipl-devel').
 1332changelog_event(qualify_op/3, fixed, 80517, 1662820566, "1f76d960735d790279fc3f7e3d3e5767d71a70b9", "FIXED: prolog_colour:qualify_op/3: recognize [] as an operator.  Use SSU rules.", 'SWI-Prolog/swipl-devel').
 1333changelog_event(radial_restraint/0, fixed, 80129, 1587483404, "ae188a58e81bc1e808d3ffc402206dbe4a89e81d", "FIXED: radial_restraint/0.", 'SWI-Prolog/swipl-devel').
 1334changelog_event(radial_restraint/0, introduced, 80122, 1580138612, "371be2775613818ed044bca47fa50da803de8cbc", "ADDED: Partial support for tabling restraints.  Currrently deals with max_answers(Count) and provides the tabling options and Prolog flags to deal with _radial restraints_.", 'SWI-Prolog/swipl-devel').
 1335changelog_event(random/1, enhanced, 80122, 1580646010, "b545fcc765a6b9e23403b7c1053a00ceb05be9d5", "ENHANCED: Reduce the risk that the random/1 function start at the same value in multiple threads if we do not use the GMP random functions.", 'SWI-Prolog/swipl-devel').
 1336changelog_event(random_numlist/4, introduced, 80504, 1639415323, "aac3bf2f8e947bfa194f73cc08f3ca94d5026ddd", "ADDED: random_subseq/3 and random_numlist/4 to library(random). Compatible with SICStus.", 'SWI-Prolog/swipl-devel').
 1337changelog_event(random_property/1, fixed, 90332, 1758787334, "8b1982e8d040d92c241806c470f6b550e5f5df74", "FIXED: Provide random_property/1 when compiled with LibBF.", 'SWI-Prolog/swipl-devel').
 1338changelog_event(random_subseq/3, introduced, 80504, 1639415323, "aac3bf2f8e947bfa194f73cc08f3ca94d5026ddd", "ADDED: random_subseq/3 and random_numlist/4 to library(random). Compatible with SICStus.", 'SWI-Prolog/swipl-devel').
 1339changelog_event(random_term/2, introduced, 100112, 1783687682, "d353c5791337ee5f77ccb77f6b026d07d66a7a7e", "ADDED: library(random_terms) — random Prolog term generator", 'SWI-Prolog/swipl-devel').
 1340changelog_event(range_to_fdset/2, introduced, 80328, 1626941363, "e6735a771946d149d175c041eb37dd63698b13f0", "ADDED: SICStus-compatible \"FD set\" API to library(clpfd).", 'SWI-Prolog/swipl-devel').
 1341changelog_event(rational/1, modified, 80125, 1583656443, "87d66a46d01d3a7a3cd6966c8b08d1a8e94dcf01", "MODIFIED: Functions rational/1 and rationalize/1 errors.  Sync with ECLiPSe.", 'SWI-Prolog/swipl-devel').
 1342changelog_event(rational/1, modified, 80326, 1623653115, "9553c65fa806655265d3d0a1b237517121118e60", "MODIFIED: Do not define rational/1 if rational number support is not enabled.", 'SWI-Prolog/swipl-devel').
 1343changelog_event(rational/3, fixed, 80122, 1580899398, "cc8350131dec2b1e55a049a4e7f54ac1b5480669", "FIXED: rational/3 (possible crash)", 'SWI-Prolog/swipl-devel').
 1344changelog_event(rationalize/1, enhanced, 80123, 1582214889, "1b71492968a142502cb634a7cbce7035a67942d1", "ENHANCED: Use ECLiPSe MPQ functions for rationalize/1 and converting a rational number into a float.  This implementation has much better properties than our old implementation.", 'SWI-Prolog/swipl-devel').
 1345changelog_event(rationalize/1, enhanced, 90104, 1674382452, "4a83822a869babeae2d63dfd790a70511ae98383", "ENHANCED: Rational version of `mpq_set_double` (rationalize/1)", 'SWI-Prolog/swipl-devel').
 1346changelog_event(rationalize/1, fixed, 80123, 1582452410, "3e642ce07d278de164ace74686527ceeed88f056", "FIXED: rationalize/1 for handling subnormal floats.", 'SWI-Prolog/swipl-devel').
 1347changelog_event(rationalize/1, fixed, 80124, 1582791860, "9c05492e938c5942f67d257117ab7bb1f12fca1b", "FIXED: Copied new rationalize/1 implementation from ECLiPSe by Joachim Schimpf.  Thanks!", 'SWI-Prolog/swipl-devel').
 1348changelog_event(rationalize/1, modified, 80125, 1583656443, "87d66a46d01d3a7a3cd6966c8b08d1a8e94dcf01", "MODIFIED: Functions rational/1 and rationalize/1 errors.  Sync with ECLiPSe.", 'SWI-Prolog/swipl-devel').
 1349changelog_event(rdf/3, fixed, 80131, 1588433890, "57f1c09c1a76784c6a09ec3ad79b65c9182f9a9e", "FIXED: Some instantiations of rdf/3 give incorrect results #78", 'SWI-Prolog/packages-semweb').
 1350changelog_event(rdf_global_term/2, fixed, 80507, 1643659942, "24232f62f3e2de855938af2edd706f35f71a2673", "FIXED: rdf_global_term/2: Allow for zero-arity compounds.", 'SWI-Prolog/packages-semweb').
 1351changelog_event(rdf_literal/1, fixed, 90108, 1678193496, "5dbc83d1b12f41c01ae3dc9b6c9a14e3c4dd2702", "FIXED: rdf_literal/1 should not succeed on IRIs in object position", 'SWI-Prolog/packages-semweb').
 1352changelog_event(rdf_load/2, added, 80110, 1562319517, "3927309db2a6e0626a64f36d205b4d64fc42e969", "ADDED: rdf_load/2: option multifile(+Boolean) to indicate that multiple sources may be loaded into the same graph.", 'SWI-Prolog/packages-semweb').
 1353changelog_event(rdf_load_db/1, fixed, 90203, 1711541612, "0de495fc6d219a4d0cc65d26ef9a5a0ad6f72685", "FIXED: Message propagation when rdf_load_db/1 fails.", 'SWI-Prolog/packages-semweb').
 1354changelog_event(rdf_meta/1, added, 80507, 1643817430, "ec3085c335b347df3491e82bb2308b38f5fd34d8", "ADDED: rdf_meta/1: apply conversion in SSU heads.", 'SWI-Prolog/packages-semweb').
 1355changelog_event(rdf_meta/1, fixed, 80128, 1586526664, "9ff1dd2d4aa3eef494b93911801dbdadf561ac81", "FIXED: Allow rdf_meta/1 to act on a module-qualified head to support multifile predicates.  Joost Geurts.", 'SWI-Prolog/packages-semweb').
 1356changelog_event(rdf_save/2, fixed, 80113, 1567086587, "49480c049a1bb21a56079d43dea07e17249abe9c", "FIXED: incorrect temporary stream encoding in rdf_save/2", 'SWI-Prolog/packages-semweb').
 1357changelog_event(rdfe_load/2, added, 90109, 1682772901, "2d4ea6445bf5c65494f11db60b2107b29314269c", "ADDED: rdfe_load/2: accept .nt (N-Triples) files.", 'SWI-Prolog/packages-semweb').
 1358changelog_event((rdiv)/2, modified, 80122, 1580926212, "e6e1d5376cb5fc2306654187c4fe394ca7db8915", "MODIFIED: rdiv/2 function to throw a type error if an argument is a float.", 'SWI-Prolog/swipl-devel').
 1359changelog_event(re_config/1, enhanced, 80510, 1649090860, "4339a2008fc297b4ebacd1e132f6c103ca6399d1", "ENHANCED: re_config/1 backtracks through all possible values   re_config/1 fails if an invalid otption is given instead of throwing an error   fixed some PCRE1 vs PCRE2 documentation for re_config/1   added a test to check that re_config/1's documentation is a complete list   comparison now uses the pattern; blob-write also shows pattern   fix bug in compare_pcres() that incorrectly resulted in equality", 'SWI-Prolog/packages-pcre').
 1360changelog_event(re_config/1, fixed, 80509, 1646769550, "cf8943540716688e85869d951244f476fc5bce92", "FIXED: re_config/1 throws error for all cases of invalid argument   Added Unicode tests (for migration to PCRE2 Issue #2)   Fixed uncleared exception   Use convenience function or error returns   Regularize some names   Documentation had \"optimize\" option; code had \"optimise\" - allow both   Fixed detection of type suffix in pattern names   Fix potential memory leaks and missed error checks   Refactor conflated pcre return code PL_... return code   Document return codes   Lower-case cmake functions that are lower-case elsewhere", 'SWI-Prolog/packages-pcre').
 1361changelog_event(re_config/2, fixed, 80509, 1646817511, "eda1472a69976de602d390a72ec661ecd71cfebf", "FIXED: re_config/2 for `jittarget` may return a NULL string, crashing re_config/2. Mapped to failure.", 'SWI-Prolog/packages-pcre').
 1362changelog_event(re_foldl/6, enhanced, 80509, 1648186126, "1ace3402643291754c9e67beb14ecd87fca29fa5", "ENHANCED: use pcre2 library instead of pcre1   - Issue #2   - Numerous small bug fixes and enhancements (e.g., handling of     duplicate options, capture_type, error checking).   - This commit takes advantage of refactoring that was     done on the pcre1 code to make it easier to handle the     pcre2 options (which are both more numerous and have a different     underlying API).   - Added new pcre2 options   - Removed some obsolete options, preserving backwards compatibility     where possible   - The meaning of optimise(true) has changed - it now calls     the JIT compiler   - Renamed bsr(...) and newline(...) options to bsr2(...) and newline2(...)     because the pcre2 interface has changed   - compat(javascript) is replaced by alt_bsux(true) and extra_alt_bsux(true)   - Code improvements:     use `uint32_t` wherever possible instead of `unsigned` or `int`   - Does not use the new pcre2_substitute() for re_replace/{4,5},     re_split/{3,4}, re_foldl/6 (however, some improvements have been     made to the APIs for these). - Added test cases", 'SWI-Prolog/packages-pcre').
 1363changelog_event(re_match/2, added, 90105, 1675785981, "fff0e6d8f08259761092808b8bd6f7e54ca02875", "ADDED: re_match/2,3: calls to known patterns may be compiled using set_prolog_flag(re_compile, true).", 'SWI-Prolog/packages-pcre').
 1364changelog_event(re_match/3, fixed, 80105, 1554796780, "27f0ceab49ca97b29b423ee5cd39e71464200c76", "FIXED: Issue#91: re_match/3: `anchored(true)` was not processed.", 'SWI-Prolog/packages-pcre').
 1365changelog_event(re_replace/4, fixed, 80509, 1646769810, "35ce8e61d6019bb3e7bcc728278b69b1dc85ca36", "FIXED: re_replace/4 can now handle duplicated back references (Issue #6)   - added escapes for \"$\" and \"\\\" Refactored \"capture map\" code", 'SWI-Prolog/packages-pcre').
 1366changelog_event(re_replace/5, enhanced, 80509, 1646769789, "89bb1b5faf1760a483f7e0e3eaf9f720c8e02c30", "ENHANCED: re_replace/5 with options list, similar to re_matchsub.   There are still some \"fixme\" tests, related to global capture_type.   Fixed: caching of compiled patterns with options.   Renamed some predicates to make things clearer.", 'SWI-Prolog/packages-pcre').
 1367changelog_event(read/1, enhanced, 80502, 1635412211, "35d20c67dde140f2c6d0c6cf5bb63b8ceaf8b8de", "ENHANCED: Use C-stack guarding for read/1 and friends.", 'SWI-Prolog/swipl-devel').
 1368changelog_event(read/1, modified, 80402, 1644053503, "1665223f3811ea824126a93630e9d6e1ee780633", "MODIFIED: Tokenize +digits as `[+, int]`.   This is consistent with read/1 parsing ``+42`` into `+(42)`.", 'SWI-Prolog/packages-nlp').
 1369changelog_event(read/1, modified, 80514, 1655969729, "ec664cfe7ee988bf95f1941b0987dcdfd29d3e15", "MODIFIED: Updated character classification for read/1 and friends to be based on Unicode 14.0.0", 'SWI-Prolog/swipl-devel').
 1370changelog_event(read_line_to_codes/2, fixed, 80514, 1656409133, "0a395ef599cc01e665366f667800b1eecda3ff3d", "FIXED: read_line_to_codes/2: avoid line ending with \\r if the \\n is found just after a flush.", 'SWI-Prolog/packages-clib').
 1371changelog_event(read_link/3, fixed, 80320, 1613486086, "f043dd55938d0059abff1e879c87d68d44346d90", "FIXED: Path canonisation for relative directories with sequences of \"../\". Makes read_link/3 fail on links to ``../../file``.  Nicos Angelopoulos.", 'SWI-Prolog/swipl-devel').
 1372changelog_event(read_pending_codes/3, fixed, 90111, 1684740665, "42ff559493d2a6c8d530f516327b9ebebe2abef4", "FIXED:  #1174: read_pending_codes/3: release stream on EOF or error.", 'SWI-Prolog/swipl-devel').
 1373changelog_event(read_term/1, added, 90332, 1759950832, "d88426c0099e7afb3a2514669840565a8a728f2b", "ADDED: Implement read_term/1: implement reading attributed and labeled terms.", 'SWI-Prolog/swipl-devel').
 1374changelog_event(read_term/2, added, 90332, 1759937497, "6457e0e254481726b2f05b9e64fe209b5609e0d2", "ADDED: read_term/2 and friends to respect the new `var_tag` flag.", 'SWI-Prolog/swipl-devel').
 1375changelog_event(read_term/2, added, 100113, 1785073641, "3745a5110438715c94edab05cb68b90310aa74a9", "ADDED: read_term/2,3 option blob(Mode) to read <type>(...) blob syntax", 'SWI-Prolog/swipl-devel').
 1376changelog_event(read_term/2, enhanced, 80121, 1578395515, "127c5dfeb57b3cb151c0c839f335c376e7cfc993", "ENHANCED: read_term/2,3 should not create a new module if the option module(Module) is given but the target module does not exist.  Now uses `user` as this is the default module from which new modules inherit.  Made this behaviour explicit in the documentation.", 'SWI-Prolog/swipl-devel').
 1377changelog_event(read_term/2, fixed, 80510, 1649246155, "789748b2ecd59b8412536a03d016579bb6c06512", "FIXED: read_term/2: memory leak when reading Unicode variable names and reporting these using the variable_names(Names) option.", 'SWI-Prolog/swipl-devel').
 1378changelog_event(read_term/3, enhanced, 100113, 1785140239, "35961e5449ec6decdf5711f1adada4b7f02f55c1", "ENHANCED: read_term/3 blob(resolve) finds the blob on its address", 'SWI-Prolog/swipl-devel').
 1379changelog_event(read_term/3, fixed, 90112, 1689170718, "26d858c2d366ec6929336ed2f94e56c4d0ecbdcd", "FIXED: #1185 read_term/3: comments are truncated on first 0-byte", 'SWI-Prolog/swipl-devel').
 1380changelog_event(read_term/3, fixed, 100113, 1785139209, "ab2e6a12d5da841789e49a0efa40892abd3893d8", "FIXED: object references now read back using read_term/3 blob(resolve)", 'SWI-Prolog/packages-swipy').
 1381changelog_event(read_term/3, modified, 90117, 1697051444, "ab410158f1e425b2e4856723ce384e98beef5285", "MODIFIED: Make the Prolog flag `float_overflow` to affect read_term/3.", 'SWI-Prolog/swipl-devel').
 1382changelog_event(read_term_with_history/2, modified, 80307, 1599550248, "db19e5a7243afb3d4f36948766f5b51a6023649b", "MODIFIED: Issue#665: Added read_term_with_history/2 and moved read_history to library(backcomp).  read_term_with_history/2 provides access to all the read_term/2 options, notably the syntax changing options.   After discussion with Robert van Engelen.", 'SWI-Prolog/swipl-devel').
 1383changelog_event(recorda/2, fixed, 80124, 1583314613, "a141e99e9a6ee0a77d9240febbbd952314d0b80a", "FIXED: handling rational numbers in records could result in wrong value or a crash. Records are used (for example) in recorda/2, findall/3, thread_send_message/2.", 'SWI-Prolog/swipl-devel').
 1384changelog_event(recorded/2, fixed, 90108, 1678705968, "14379b8bee93a48eaf583f8f9e36dfafde900f2b", "FIXED: recorded/2,3: If the first record was marked erased it is still reported.", 'SWI-Prolog/swipl-devel').
 1385changelog_event(redis/2, fixed, 80310, 1603308119, "cc332090b8b8eba08ed17aae686641b14c053687", "FIXED: redis/2,3 to fail if the return is `nil` while using `X as Type`", 'SWI-Prolog/packages-redis').
 1386changelog_event(redis_array_dict/3, introduced, 80310, 1602235599, "fa043fa2f155d131d292baf710f593f0fb0801ca", "ADDED: redis_array_dict/3 to simplify building new predicates that wish to exchange Redis hashes as dicts.", 'SWI-Prolog/packages-redis').
 1387changelog_event(redis_cli/1, modified, 80310, 1602508917, "b1f743c32a27655bf87226b770155d9f6da7b6af", "MODIFIED: Renamed redis_cli/1 to redis/1 and changed redis/2 to mean redis(Connection, Request, _).  This avoids ambiguity of redis/2.", 'SWI-Prolog/packages-redis').
 1388changelog_event(redis_connect/2, modified, 80310, 1602250258, "44c4da062af23608bf1f7bd845f548d790a85346", "MODIFIED: redis_connect/2: deleted the alias(Alias) option.  This is superseeded by redis_server/3.", 'SWI-Prolog/packages-redis').
 1389changelog_event(redis_current_command/2, introduced, 80310, 1602165581, "bda6973816fd0d65012d5cd28786370d764c9ee9", "ADDED: Redis protocol version 3\tsupport on the Prolog side, updated tests, server info, more documentation.", 'SWI-Prolog/packages-redis').
 1390changelog_event(redis_current_command/3, introduced, 80310, 1602165581, "bda6973816fd0d65012d5cd28786370d764c9ee9", "ADDED: Redis protocol version 3\tsupport on the Prolog side, updated tests, server info, more documentation.", 'SWI-Prolog/packages-redis').
 1391changelog_event(redis_get_hash/3, introduced, 80309, 1601984460, "1ffeda3d3461fc3200e3a58a3c0f9caff256b8f1", "ADDED: High level commands to get/put lists and hashes.", 'SWI-Prolog/packages-redis').
 1392changelog_event(redis_get_list/3, fixed, 90302, 1708074025, "c9bdc3b5cd0ccde154b17821622aa16ee08b2966", "FIXED: redis_get_list/3,4: ``LLEN`` can return ``OK``.", 'SWI-Prolog/packages-redis').
 1393changelog_event(redis_get_list/3, introduced, 80309, 1601984460, "1ffeda3d3461fc3200e3a58a3c0f9caff256b8f1", "ADDED: High level commands to get/put lists and hashes.", 'SWI-Prolog/packages-redis').
 1394changelog_event(redis_get_list/4, introduced, 80309, 1601984460, "1ffeda3d3461fc3200e3a58a3c0f9caff256b8f1", "ADDED: High level commands to get/put lists and hashes.", 'SWI-Prolog/packages-redis').
 1395changelog_event(redis_hscan/4, fixed, 80311, 1603731043, "cfa49b73d61aab0058bd1753d1ef5802c1b837c5", "FIXED: redis_hscan/4: failed after changing return to `auto`.  Added test case.", 'SWI-Prolog/packages-redis').
 1396changelog_event(redis_hscan/4, introduced, 80309, 1601984460, "ee36ad361e1942be2352c0675c53d0f0cbb65d3f", "ADDED: Support for the scan family of commands as lazy lists.", 'SWI-Prolog/packages-redis').
 1397changelog_event(redis_property/2, introduced, 80310, 1602165581, "bda6973816fd0d65012d5cd28786370d764c9ee9", "ADDED: Redis protocol version 3\tsupport on the Prolog side, updated tests, server info, more documentation.", 'SWI-Prolog/packages-redis').
 1398changelog_event(redis_put_hash/3, introduced, 80309, 1601984460, "1ffeda3d3461fc3200e3a58a3c0f9caff256b8f1", "ADDED: High level commands to get/put lists and hashes.", 'SWI-Prolog/packages-redis').
 1399changelog_event(redis_put_list/3, introduced, 80309, 1601984460, "1ffeda3d3461fc3200e3a58a3c0f9caff256b8f1", "ADDED: High level commands to get/put lists and hashes.", 'SWI-Prolog/packages-redis').
 1400changelog_event(redis_read_msg/3, introduced, 80310, 1602147152, "a4fb65e44ce42356b76cff8a853dfc6ecd5c3bf6", "ADDED: Redis RESP3 protocol support.", 'SWI-Prolog/packages-redis').
 1401changelog_event(redis_scan/3, introduced, 80309, 1601984460, "ee36ad361e1942be2352c0675c53d0f0cbb65d3f", "ADDED: Support for the scan family of commands as lazy lists.", 'SWI-Prolog/packages-redis').
 1402changelog_event(redis_sscan/4, introduced, 80309, 1601984460, "ee36ad361e1942be2352c0675c53d0f0cbb65d3f", "ADDED: Support for the scan family of commands as lazy lists.", 'SWI-Prolog/packages-redis').
 1403changelog_event(redis_subscribe/4, added, 80311, 1603969107, "d827dca55fcbfb035d714eb79c854a7e788563ce", "ADDED: redis_subscribe/4 and friends to accept channel keys in the A:B:... notation.", 'SWI-Prolog/packages-redis').
 1404changelog_event(redis_subscribe/4, fixed, 80311, 1603965961, "5e41a88dc89b4f0cdbcb71a03f64952aeaeabff0", "FIXED: redis_subscribe/4 Failed to broadcast due to auto type conversion.", 'SWI-Prolog/packages-redis').
 1405changelog_event(redis_write_msg_no_flush/2, introduced, 80310, 1602674999, "2cd4414b4ab2f99ad3b4d3584e0456f1af7fc5e6", "ADDED: Support redis _pipelines_ and _transactions_.", 'SWI-Prolog/packages-redis').
 1406changelog_event(redis_zscan/4, introduced, 80309, 1601984460, "ee36ad361e1942be2352c0675c53d0f0cbb65d3f", "ADDED: Support for the scan family of commands as lazy lists.", 'SWI-Prolog/packages-redis').
 1407changelog_event(reexport/1, fixed, 80518, 1663835323, "7e685450f6117d2d20c2e45d123f635faaa13484", "FIXED: Handle reexport/1 and reexport/2 properly in multi-file .qlf files.   Reported by @swi.", 'SWI-Prolog/swipl-devel').
 1408changelog_event(reexport/2, fixed, 80518, 1663835323, "7e685450f6117d2d20c2e45d123f635faaa13484", "FIXED: Handle reexport/1 and reexport/2 properly in multi-file .qlf files.   Reported by @swi.", 'SWI-Prolog/swipl-devel').
 1409changelog_event(reexport/2, fixed, 90319, 1736699200, "393d808fc26d3a1e6b7ab7bc22718e0cb588b1a0", "FIXED: reexport/2: allow for op(Priority,Associativity,Name)", 'SWI-Prolog/swipl-devel').
 1410changelog_event(reload_foreign_libraries/0, fixed, 100001, 1771404722, "4c9134a3d7d5ec95c6cbfcbc0e03f284acef81f2", "FIXED: reload_foreign_libraries/0.   Failed with type error.", 'SWI-Prolog/swipl-devel').
 1411changelog_event(rename_predicate/2, modified, 90111, 1684770766, "714d811683474291c5adab06a26fe3559b7066fb", "MODIFIED: Removed undocumented prolog:rename_predicate/2 hook.", 'SWI-Prolog/swipl-devel').
 1412changelog_event(repl_add_cwd/0, fixed, 90200, 1706616610, "d372d76e75309173778a01fd33187a598d1c91a8", "FIXED: repl_add_cwd/0 should always succeed.", 'SWI-Prolog/packages-swipy').
 1413changelog_event(repl_loop_hook/2, added, 90121, 1701358283, "5d2f6aa6b026e112ebba7b92bf136f71487352cb", "ADDED: Experimental prolog:repl_loop_hook/2 hook", 'SWI-Prolog/swipl-devel').
 1414changelog_event(repl_loop_hook/2, fixed, 90121, 1701877328, "e3448b9ff37f2f24f1c082c8d9e8b6bb65103598", "FIXED: Toplevel calls repl_loop_hook/2 with a variable.", 'SWI-Prolog/swipl-devel').
 1415changelog_event(reply_html_partial/1, added, 90120, 1701030974, "9b07bd078d57d6b3fa78237657109cc0fb4a1d9b", "ADDED: reply_html_partial/1", 'SWI-Prolog/packages-http').
 1416changelog_event(reply_json_dict/2, modified, 90109, 1682410384, "f79d335894faaad005ca26d3d011d3d8d9294443", "MODIFIED: reply_json_dict/2 to explicitly use UTF-8 by default.", 'SWI-Prolog/packages-http').
 1417changelog_event(require/1, added, 80122, 1581505524, "00a73c8482932853b64e90af28ec0bbdd0c71437", "ADDED: Handle require/1 in library(prolog_xref).", 'SWI-Prolog/swipl-devel').
 1418changelog_event(require/1, enhanced, 80122, 1581503896, "b15f1804f7787be85b9aab63c4a66fc34d4ee42a", "ENHANCED: Make require/1 cooperate properly with autoloading.  Non-built-in predicates that are requested using require/1 are mapped to autoload/2 calls. As a result, require/1 cooperates with all modes of the `autoload` flags and prevents local (re-)definition of required predicates.", 'SWI-Prolog/swipl-devel').
 1419changelog_event(require/1, enhanced, 80511, 1650012220, "d976fe6f91cf93613eee27e8a8f7af7e18a46ce2", "ENHANCED: require/1 to simply import if the target module is already loaded.   Reduces startup time.", 'SWI-Prolog/swipl-devel').
 1420changelog_event(require_prolog_version/2, fixed, 90122, 1703067116, "e6c1577ce7e4fca5191f2afd40daa3eb4c9361ce", "FIXED: require_prolog_version/2: silent failure of git version parsing", 'SWI-Prolog/swipl-devel').
 1421changelog_event(require_prolog_version/2, fixed, 90200, 1706257573, "1e06ac3c51bd630861e2e142a7529147bf58a723", "FIXED: require_prolog_version/2: accept dirty on release tag/.", 'SWI-Prolog/swipl-devel').
 1422changelog_event(require_prolog_version/2, fixed, 100111, 1782820108, "07ed78a71933839071ca2df680216fd3afa693db", "FIXED: require_prolog_version/2: Git version comparison.", 'SWI-Prolog/swipl-devel').
 1423changelog_event(require_prolog_version/2, introduced, 80501, 1635104108, "514480b86da5d04b203f590ae33ec56d5c09414a", "ADDED: library(prolog_versions) to simplify demanding minimal version and features of the hosting Prolog system.", 'SWI-Prolog/swipl-devel').
 1424changelog_event(reset_profiler/0, fixed, 80117, 1574331183, "9690728e90f2acf1ca0f1753432f23c7f14165b0", "FIXED: reset_profiler/0.  Needs to clear `prof_node` in the environments. Lacking to do so can cause crashes as well as wrong results.", 'SWI-Prolog/swipl-devel').
 1425changelog_event(resource/2, fixed, 80110, 1562241526, "cdbb167c8ada5a0ca34ebdeb911015de01d0696c", "FIXED: do not include resources defined using resource/2 in runtime saved states", 'SWI-Prolog/swipl-devel').
 1426changelog_event(retract/1, fixed, 80304, 1594201299, "dba0a7a0c33051286dad041c8cef0ab899020a29", "FIXED: retract/1 in nested transaction for clauses added by an outer transaction.", 'SWI-Prolog/swipl-devel').
 1427changelog_event(retract/1, fixed, 80315, 1607268957, "28b26fe4be7f0bca90e19fa8ed15dfb57be637d9", "FIXED: Issue#722: premature reclaim of a clause reference in retract/1.", 'SWI-Prolog/swipl-devel').
 1428changelog_event(retract/1, fixed, 80315, 1607688490, "06e3e152a83ec786a689085274d49da1e56b9287", "FIXED: Possible race condition in retract/1 generation management.", 'SWI-Prolog/swipl-devel').
 1429changelog_event(retract/1, fixed, 80320, 1613571007, "df7f72d160d5324f5c209e84921e80799d8d5d42", "FIXED: Issue#785: Crash when creating too many \"predicate references\" as created by e.g. clause/2 and retract/1.", 'SWI-Prolog/swipl-devel').
 1430changelog_event(retractall/1, fixed, 80118, 1576333499, "0ae148589e8bf377cfd044d6a43027569680dc46", "FIXED: retractall/1 could fail if a clause was already retracted somehow. This bug was introduced with the introduction of the event interface on dynamic database changes required for incremental tabling.", 'SWI-Prolog/swipl-devel').
 1431changelog_event(retractall/1, fixed, 80122, 1581682676, "470cfec5efeb76063d718fc23b943c3bee111f08", "FIXED: retractall/1: if decompiling a clause head raises a stack overflow the clause is not retracted and retractall/1 succeeded.   Now retractall raises a resource error exception.  Note that it may have completed part of its job.", 'SWI-Prolog/swipl-devel').
 1432changelog_event(reverse/2, enhanced, 80512, 1652533898, "62c3934145926999722d1a013340747e62285550", "ENHANCED: Issue#17: reverse/2 to be deterministic if second argument is a proper list.  Ulrich Neumerkel.", 'SWI-Prolog/swipl-devel').
 1433changelog_event(rewrite_host/3, added, 90119, 1699534583, "20c2f2fd69a070ba9d55b6488af3ad86f95e2072", "ADDED: socket:rewrite_host/3 hook for tcp_connect/2", 'SWI-Prolog/packages-clib').
 1434changelog_event(rewrite_host/3, enhanced, 90119, 1699543698, "5fc84af6f7cdd118ef05b205c4597c45888d3109", "ENHANCED: Make rewrite_host/3 hook work fot tcp_connect/3", 'SWI-Prolog/packages-clib').
 1435changelog_event(rewrite_ref/4, added, 80301, 1591284354, "fbec51e8d1a03448bb1bff13badfe22164c10c12", "ADDED: rewrite_ref/4 for gloss class", 'SWI-Prolog/packages-pldoc').
 1436changelog_event(round/1, fixed, 80123, 1582394817, "c1b972a9b38151f2a36abe6b9d436e07d7b1bd4e", "FIXED: round/1, ceil/1, floor/1, truncate/1 functions on special floats. Some of these could crash (SIGFPE).", 'SWI-Prolog/swipl-devel').
 1437changelog_event(round/1, fixed, 80509, 1648109142, "28f60899352ab2fc7b063483c966a9858b0fc047", "FIXED: round/1 function.  As discussed on Discourse.   Rick Workman.", 'SWI-Prolog/swipl-devel').
 1438changelog_event(round/1, fixed, 80509, 1648115894, "3e63163b971d9bf7da5968f0a7ad5b9bafc5c47b", "FIXED: round/1 near +/- max integer.", 'SWI-Prolog/swipl-devel').
 1439changelog_event(roundtoward/2, added, 80123, 1582196105, "2f4b93e44eb3b95c21b0c95b6d85be0a1a0662cd", "ADDED: Compiler/VM support for roundtoward/2. This patch also reverses the order in which function arguments are evakuated from left-to-right to right-to-left. This order was already used for non-optimized arithmetic.  This should have no consequences except for the raised exceptions if a function has multiple invalid arguments.  For example, in `A is 1/0 + 2/0` the exception now originates from `2/0`.", 'SWI-Prolog/swipl-devel').
 1440changelog_event(roundtoward/2, added, 80123, 1582196105, "e6d40b933afd5c2c17ac2d7cb8106d06a7bd916b", "ADDED: roundtoward/2 function.", 'SWI-Prolog/swipl-devel').
 1441changelog_event(roundtoward/2, fixed, 80308, 1600155447, "09e93b8c24c282519a4adae5cdb80ee72285fe8d", "FIXED: function roundtoward/2 with variable direction was miscompiled, causing a crash.  Rick Workman.", 'SWI-Prolog/swipl-devel').
 1442changelog_event(rule/3, fixed, 80508, 1645111541, "00bfdc5fc9568e26833740e73898f60a5dd9caa6", "FIXED: rule/3 for => rules that have the unification moved into the head and listing/1 for such SSU clauses.", 'SWI-Prolog/swipl-devel').
 1443changelog_event(run_tests/0, fixed, 90105, 1676280060, "9b940f0faeda2c83c0b59b743889dfca254731d6", "FIXED: run_tests/0-2: failing tests were no longer reflected in the success/failure of this predicate.", 'SWI-Prolog/packages-plunit').
 1444changelog_event(run_tests/0, fixed, 90308, 1717402671, "ffb68003ceaa9c0f4e2e9441e8f57678eaf1d874", "FIXED: run_tests/0-2: correctly report combined CPU usage.", 'SWI-Prolog/packages-plunit').
 1445changelog_event(same_certificate/2, introduced, 80118, 1575984109, "2ac598f8488b331329549c3785c19c952ec6420d", "ADDED: same_certificate/2 to allow comparing certificates", 'SWI-Prolog/packages-ssl').
 1446changelog_event(same_functor/2, introduced, 80317, 1609593955, "d5c9600958c8238beae6f1b3dbe735bf93c53126", "ADDED: library(terms): same_functor/2-4, mapterm/3", 'SWI-Prolog/swipl-devel').
 1447changelog_event(same_functor/3, introduced, 80317, 1609593955, "d5c9600958c8238beae6f1b3dbe735bf93c53126", "ADDED: library(terms): same_functor/2-4, mapterm/3", 'SWI-Prolog/swipl-devel').
 1448changelog_event(same_functor/4, fixed, 80323, 1618906753, "89c08b9f81e9abf7002ab8e581b18a414ef739a4", "FIXED: Issue#815: same_functor/4 (and friends) to be more SICStus compatible.", 'SWI-Prolog/swipl-devel').
 1449changelog_event(same_functor/4, fixed, 80323, 1619166371, "61905497c62c1edd2846a2f1f30459bbc94fc03f", "FIXED: same_functor/4 and derived predicates to be fully compatible with SICStus and handle zero-argument compounds.", 'SWI-Prolog/swipl-devel').
 1450changelog_event(same_functor/4, introduced, 80317, 1609593955, "d5c9600958c8238beae6f1b3dbe735bf93c53126", "ADDED: library(terms): same_functor/2-4, mapterm/3", 'SWI-Prolog/swipl-devel').
 1451changelog_event(save_attribute_value/3, fixed, 80113, 1566992796, "be9b910b78e42047803309bdd8cc2afa60f7502b", "FIXED: to accept strings in save_attribute_value/3 to allow proper xsd:dateTime serialization", 'SWI-Prolog/packages-semweb').
 1452changelog_event(save_settings/0, enhanced, 80132, 1589890170, "afc302a4b888e167e841dfe4cbcfde331f4b3640", "ENHANCED: save_settings/0: raise error if there is no default file known to save the settings.", 'SWI-Prolog/swipl-devel').
 1453changelog_event(save_settings/1, enhanced, 80303, 1593114122, "e645799f6be596526349cfcc6b7206e3446d2e0f", "ENHANCED: save_settings/1 to use setup_call_cleanup/3 to guarantee reclaiming resources.", 'SWI-Prolog/swipl-devel').
 1454changelog_event(schedule_gc/2, fixed, 90304, 1712820007, "eac2657a1fb650815a0b368adedd6ad26236b180", "FIXED: Undefined predicate schedule_gc/2 in library(http/http_session)", 'SWI-Prolog/packages-http').
 1455changelog_event(select_dict/3, fixed, 90313, 1728561649, "d98dfd1e6ded7f807d8ffe533b8587db0e8ac25b", "FIXED: select_dict/3: possible crash.", 'SWI-Prolog/swipl-devel').
 1456changelog_event(select_dict/3, fixed, 90314, 1728995696, "4b97259473d936b9017213947bf49dd7a842f9d6", "FIXED: select_dict/3: deal with attributed variables.", 'SWI-Prolog/swipl-devel').
 1457changelog_event(select_dict/3, modified, 90332, 1759937497, "9f8c6beac04f88756c039dc2f0723d7955e8be53", "MODIFIED: select_dict/3 handling of `#` tag", 'SWI-Prolog/swipl-devel').
 1458changelog_event(semicolon_list/2, introduced, 80114, 1567514707, "9b578bf13d91cb385d100c53ee812e55d71b2860", "ADDED: library(prolog_code), providing several commonly used predicates to reason about Prolog programs.", 'SWI-Prolog/swipl-devel').
 1459changelog_event(send_signal/1, introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
 1460changelog_event(send_silent_signal/1, introduced, 80120, 1577979266, "21b99612d352eec9fb7dc4cae936cdbc66632830", "ADDED: library(intercept): provide Ciao compatible intercept/signal API.", 'SWI-Prolog/swipl-devel').
 1461changelog_event(sentinel_slave/4, introduced, 90302, 1708090639, "38f5e6efdb215b73af4163dddaa50acabed6da57", "ADDED: sentinel_slave/4", 'SWI-Prolog/packages-redis').
 1462changelog_event(set_blob_type/2, introduced, 100113, 1785354959, "18a5a54286220eaf49d9d7a2ed18a3766d1592db", "ADDED: blob_type_property/2 and set_blob_type/2", 'SWI-Prolog/swipl-devel').
 1463changelog_event(set_breakpoint/4, enhanced, 80323, 1618821436, "fd56e66cc51c8df9acac46738308c25435d0f229", "ENHANCED: Multiple clauses may be registered at a specific source line. We need to consider all of them for set_breakpoint/4.", 'SWI-Prolog/swipl-devel').
 1464changelog_event(set_breakpoint_condition/2, introduced, 80512, 1652629286, "af63d7b648ee527a50894fc57560171f6e2496f8", "ADDED: set_breakpoint_condition/2, providing _conditional breakpoints_", 'SWI-Prolog/swipl-devel').
 1465changelog_event(set_epilog/1, modified, 90331, 1758555295, "620a8933d1d3d0dc44396d782b8372f7d207b559", "MODIFIED: Control the Prolog consoles using a single predictate set_epilog/1.", 'SWI-Prolog/packages-xpce').
 1466changelog_event(set_malloc/1, introduced, 80127, 1585149594, "4fdd8941629dc373de8e025bb1793ee11fcb34cb", "ADDED: thread_idle/2 and, when linked to tcmalloc, malloc_property/1 and set_malloc/1.", 'SWI-Prolog/swipl-devel').
 1467changelog_event(set_prolog_IO/3, fixed, 80120, 1576614231, "232329a0922c65525f7936a76340ff7e2fea2aeb", "FIXED: set_prolog_IO/3: make sure the file_no(N) stream property is relayed properly.", 'SWI-Prolog/swipl-devel').
 1468changelog_event(set_prolog_IO/3, modified, 80509, 1647452349, "ad16e27c7068a06a5cc7334b6f484f8f4b808ca3", "MODIFIED: set_prolog_IO/3 no longer creates a clone stream if stdout and stderr are the same stream, but creates an error stream that writes to the output (and flushes it).   This way we can safely close `user_error`.", 'SWI-Prolog/swipl-devel').
 1469changelog_event(set_prolog_flag/2, fixed, 80312, 1604997925, "19f2648dcce8c5018bebd8944d1f023f0b66a735", "FIXED: set_prolog_flag/2: propagate errors from switching debug mode using the `debug` flag.", 'SWI-Prolog/swipl-devel').
 1470changelog_event(set_prolog_flag/2, modified, 90119, 1700131714, "fc6ab936031efa5925b6ba34a83d51e95719be5e", "MODIFIED: set_prolog_flag/2: convert Booleans", 'SWI-Prolog/swipl-devel').
 1471changelog_event(set_prolog_gc_thread/1, fixed, 90115, 1693232714, "f9663b28f65eef9365fa9b19b206685b4943c7c6", "FIXED: set_prolog_gc_thread/1: no-op in the single-threaded version.", 'SWI-Prolog/swipl-devel').
 1472changelog_event(set_stream/2, fixed, 100112, 1784228299, "4e8f38907bbdda0282cdb07e05e4dd359647db58", "FIXED: set_stream/2 close_on_exec silently succeeded on unsupported platforms", 'SWI-Prolog/swipl-devel').
 1473changelog_event(set_system_IO/3, introduced, 80306, 1596798272, "c774b193bacab61c770d23dc0554a3672d7a5da1", "ADDED: set_system_IO/3 to bind stdin/stdout/stderr to Prolog streams", 'SWI-Prolog/swipl-devel').
 1474changelog_event(set_test_options/1, modified, 90104, 1674382059, "039584dd4736e6b326d86f17868d9815fd0dcf98", "MODIFIED: set_test_options/1 to merge the test options with the current options.", 'SWI-Prolog/packages-plunit').
 1475changelog_event(set_thread/2, introduced, 90329, 1755587010, "68da0c9abe446ca7d4e32113f31f1b91c81ad26c", "ADDED: set_thread/2", 'SWI-Prolog/swipl-devel').
 1476changelog_event(setarg/3, fixed, 80515, 1658921132, "1a4ad739811148e68b14b2160cc3cc4708299114", "FIXED: setarg/3 to unify always when the first argument is a variable. Abramo Bagnara.", 'SWI-Prolog/swipl-devel').
 1477changelog_event(setof/3, fixed, 80304, 1594973957, "4ee28abda5e826a3d98791cd588d7ff7ac885e3a", "FIXED: Issue#637 (following Discourse message): functional notation expansion in ^-meta arguments (bagof/3, setof/3, etc.).", 'SWI-Prolog/swipl-devel').
 1478changelog_event(setpriority/3, introduced, 80514, 1657185386, "2749a4dedd06435312cff7c51a494c0bc1f396b1", "ADDED: library(sched), providing a start at accessing the OS scheduling primitives.", 'SWI-Prolog/packages-clib').
 1479changelog_event(setup_call_cleanup/3, enhanced, 80102, 1551124745, "15cbad8daee303e0336e0ddd25ddaa9980b4f042", "ENHANCED: Avoid trapping debug hooks for setup_call_cleanup/3 and friends.  This avoids about doubling the overhead when the development environment is used (PceEmacs and/or SWISH).", 'SWI-Prolog/swipl-devel').
 1480changelog_event(setup_call_cleanup/3, enhanced, 90107, 1676390586, "132868f936097e70927b13171b63b3050e211923", "ENHANCED: Simplified implementation for the cleanup family, call_cleanup/2, setup_call_cleanup/3.", 'SWI-Prolog/swipl-devel').
 1481changelog_event(setup_call_cleanup/3, fixed, 80517, 1662562717, "2695451891bdb12232c8116480e816baa3a4caa2", "FIXED: PceEmacs sgml mode: use setup_call_cleanup/3 to ensure Prolog streams to editors are always closed.", 'SWI-Prolog/packages-xpce').
 1482changelog_event(setup_prolog_locale/0, introduced, 90315, 1731687887, "9d3a6d4c20187180557c8f95e745df4c930c802e", "ADDED: library(prolog_locale) to setup grouped printing of integers.", 'SWI-Prolog/swipl-devel').
 1483changelog_event(shell/0, fixed, 100113, 1785852425, "6d1f3b133b59f845cf0dafa3cb8ab3027e183d53", "FIXED: shell/0 on Windows: %comspec% before the posix_shell flag", 'SWI-Prolog/swipl-devel').
 1484changelog_event(shell/0, fixed, 100113, 1785852558, "ad7b3492e169265eff5e4295ce55d03a993cabb4", "FIXED: Windows: shell/0 blocked, shell/1 wrote nowhere and neither waited", 'SWI-Prolog/swipl-devel').
 1485changelog_event(shell/1, added, 100113, 1785852568, "ca800b12e49db09e66dc096b33b0cd02b2fb4efd", "ADDED: Windows: run the child of shell/1 on the terminal's own console", 'SWI-Prolog/swipl-devel').
 1486changelog_event(shell/1, enhanced, 100113, 1785766883, "344b0de093b2e222838afbcf3e59d31e32b67ecb", "ENHANCED: shell/1 adopts the terminal it was handed", 'SWI-Prolog/swipl-devel').
 1487changelog_event(shell/1, fixed, 100113, 1786099735, "e1cc1b2bab0945a8670dc140ba83c7a1522227ab", "FIXED: MacOS: terminal died when a child of shell/1 left it", 'SWI-Prolog/packages-xpce').
 1488changelog_event(shell/1, fixed, 100113, 1786099759, "037f85fb5649308e766afbab332151d4769a66a8", "FIXED: MacOS: shell/1 left Prolog without usable standard streams", 'SWI-Prolog/swipl-devel').
 1489changelog_event(shell/1, modified, 80120, 1576682391, "fb851495a5316a08d0e41583ccd7ed15f6266eac", "MODIFIED: shell/1,2: if the `user_input`, `user_output` and `user_error` streams are connected to a file descriptors, `dup()` these to the process' standard streams.  This allows running shell commands and get the output in the expected place using the upcoming embedded SSH server.", 'SWI-Prolog/swipl-devel').
 1490changelog_event(shift/1, fixed, 80325, 1622193106, "004db674ebd7ac36c68aaaca7ce4eaa7145d2439", "FIXED: flipped shift/1 and shift_for_copy/1 behaviour.", 'SWI-Prolog/swipl-devel').
 1491changelog_event(shift_for_copy/1, added, 80321, 1616075597, "29c1d03da6a6ab9b23ec3a3e935ba200e45a3e0b", "ADDED: shift_for_copy/1 to deal with the rstrictions for shift that we need if we want to restart the continuation in a different context.", 'SWI-Prolog/swipl-devel').
 1492changelog_event(shift_for_copy/1, fixed, 80321, 1616075597, "6588f82708d121874933b26955648077cee1b75b", "FIXED: Use safer shift_for_copy/1 to erroneous interaction with choicepoints in tabling.", 'SWI-Prolog/swipl-devel').
 1493changelog_event(shift_for_copy/1, fixed, 80325, 1622193106, "004db674ebd7ac36c68aaaca7ce4eaa7145d2439", "FIXED: flipped shift/1 and shift_for_copy/1 behaviour.", 'SWI-Prolog/swipl-devel').
 1494changelog_event(show_coverage/1, added, 80511, 1651751130, "29e421a2b16ec49e97e0c8d2ee044e4f6ef48b40", "ADDED: Low level primitives to collect information about coverage.  This is used by show_coverage/1,2 to achieve only a modest slowdown.", 'SWI-Prolog/swipl-devel').
 1495changelog_event(show_coverage/1, enhanced, 80511, 1650461936, "a46cb91096c943d6f7b974319072d5af6dab2ca9", "ENHANCED: show_coverage/1,2: call-site annotation (sub goals), several new options to control the output.", 'SWI-Prolog/packages-plunit').
 1496changelog_event(show_coverage/1, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
 1497changelog_event(show_coverage/2, added, 80327, 1626172671, "bf7ba9d110a3acef4e5aaf12e97a047b4bc3cbe5", "ADDED: show_coverage/2: Produce annotated files with coverage information. This information now also shows the number of entries and exits/failures.", 'SWI-Prolog/packages-plunit').
 1498changelog_event(show_coverage/2, enhanced, 80511, 1651750988, "313080d3a9400f4ee0be87825d48e690c8c61b14", "ENHANCED: show_coverage/2: use new built-in coverage collecting primitives to achieve only a modest slow down.", 'SWI-Prolog/packages-plunit').
 1499changelog_event(show_coverage/2, fixed, 90119, 1699978585, "e34de0630e6e7db19a163813fb84056e40ebe535", "FIXED: show_coverage/2: details for non-module files with tests.", 'SWI-Prolog/packages-plunit').
 1500changelog_event(show_coverage/2, introduced, 90122, 1705498528, "a4979eb4d2ddacc2b9b1cc755819eeea0ce473ed", "ADDED: library(prolog_coverage).", 'SWI-Prolog/swipl-devel').
 1501changelog_event(sig_atomic/1, introduced, 80501, 1633954313, "956456c2d4282fe97f46637073584a94138b1601", "ADDED: sig_atomic/1 to run goals protected from signals.  This predicate used to be available as the undocumented '$sig_atomic'/1.  '$sig_atomic'/1 is now available from `library(backcomp)`.", 'SWI-Prolog/swipl-devel').
 1502changelog_event(sig_pending/1, introduced, 80501, 1633954313, "f4f79d1a099df6fba339f796cefa786b4ef2b285", "ADDED: sig_pending/1 and sig_remove/2.", 'SWI-Prolog/swipl-devel').
 1503changelog_event(sig_remove/2, introduced, 80501, 1633954313, "f4f79d1a099df6fba339f796cefa786b4ef2b285", "ADDED: sig_pending/1 and sig_remove/2.", 'SWI-Prolog/swipl-devel').
 1504changelog_event(size_abstract_term/3, introduced, 80122, 1580138612, "371be2775613818ed044bca47fa50da803de8cbc", "ADDED: Partial support for tabling restraints.  Currrently deals with max_answers(Count) and provides the tabling options and Prolog flags to deal with _radial restraints_.", 'SWI-Prolog/swipl-devel').
 1505changelog_event(size_abstract_term/3, modified, 80129, 1587472191, "564e10f810e6b1e910489359c6b8151b9e35b107", "MODIFIED: size_abstract_term/3 to implement what I think is the intended semantics of term size abstraction of XSB.", 'SWI-Prolog/swipl-devel').
 1506changelog_event(size_file/2, fixed, 80516, 1662045384, "eedae26e9d0e991f51d68a1124ba04f8ac566728", "FIXED: Windows implementation of size_file/2 to use GetFileAttributesExW() because _wstati64() cannot handle long file names.", 'SWI-Prolog/swipl-devel').
 1507changelog_event(sleep/1, enhanced, 90108, 1677965084, "c4d359fb11b2e2255cd86c02609465e5e72a8181", "ENHANCED: sleep/1: `sleep(0)` just does `sched_yield()` if possible.", 'SWI-Prolog/swipl-devel').
 1508changelog_event(sleep/1, fixed, 80317, 1609753951, "0a438ccf5ba14bec5962897a84b517dd8212a85f", "FIXED: sleep/1: interrupt processing for Windows.", 'SWI-Prolog/swipl-devel').
 1509changelog_event(sleep/1, fixed, 80516, 1661074011, "850cb7f95d29d9e86722a98ffd74f2a8cf3c1c68", "FIXED: WASM Issue#1023: sleep/1 no longer worked.", 'SWI-Prolog/swipl-devel').
 1510changelog_event(snapshot/1, fixed, 90122, 1703864614, "d0ac863c43286c344ff3b2d3818b4b18ca321783", "FIXED: Use snapshot/1 when computing exports", 'SWI-Prolog/swipl-devel').
 1511changelog_event(snapshot/1, introduced, 80304, 1594038917, "db334bef52fa1d3d9ac72b747864b8094699d681", "ADDED: Transaction isolation support.  See transaction/1 and snapshot/1.", 'SWI-Prolog/swipl-devel').
 1512changelog_event(socket_create/2, introduced, 90105, 1675613706, "afe732c33430a36c8b28ff99f3f4aa078b923e71", "ADDED: socket_create/3.   Will replace all other socket creation predicates.", 'SWI-Prolog/packages-clib').
 1513changelog_event(socket_create/3, added, 90105, 1675613706, "afe732c33430a36c8b28ff99f3f4aa078b923e71", "ADDED: socket_create/3.   Will replace all other socket creation predicates.", 'SWI-Prolog/packages-clib').
 1514changelog_event(sort/2, fixed, 80310, 1602092643, "9811ca1f36c072d5026150106ef4ae330f4500fe", "FIXED: sort/2 and related predicates: possible crash.", 'SWI-Prolog/swipl-devel').
 1515changelog_event(source_file/2, fixed, 80517, 1663320166, "03f84aadd781811580cac6a5edfe1a1034ae1a19", "FIXED: source_file/2 in mode (-,+) never reported any files.   Breaks coverage analysis tool.", 'SWI-Prolog/swipl-devel').
 1516changelog_event(source_file_property/2, enhanced, 90323, 1744276069, "592991a14aadc1ab75a305e891aa4b09dbfb2707", "ENHANCED: source_file_property/2 performance", 'SWI-Prolog/swipl-devel').
 1517changelog_event(source_file_property/2, fixed, 90323, 1744209682, "481cdd64997789d3bbd6dd0f4856efa89b10e931", "FIXED: source_file_property/2 to work without sources.", 'SWI-Prolog/swipl-devel').
 1518changelog_event(source_location/2, fixed, 80101, 1548753947, "5d16ea9eba67f77c78f774bc4289d2bcba46ba9b", "FIXED: Pretend `begin_of_file` is expanded from line 0 instead of make source_location/2 fail.", 'SWI-Prolog/swipl-devel').
 1519changelog_event(sparql_query/3, added, 90121, 1701378256, "3341f31126e3fa4941cbecc0883345d8b89ff352", "ADDED: sparql_query/3: pass SSL options to the SSL context.", 'SWI-Prolog/packages-semweb').
 1520changelog_event(sparql_query/3, fixed, 80203, 1605787776, "cf5c8abe249ac2469f82f225c174171a12961ade", "FIXED: sparql_query/3: ignore white space in values.  Johan Romme.", 'SWI-Prolog/packages-semweb').
 1521changelog_event(sparql_query/3, fixed, 90321, 1739466089, "675fb763028feb6bda9eca8a85a63762fdb9178e", "FIXED: sparql_query/3 using option endpoint(URL)", 'SWI-Prolog/packages-semweb').
 1522changelog_event(sparql_query/3, modified, 80310, 1602663859, "94b2de92065b09100fdf3cf0eba6b0ebfd105545", "MODIFIED: sparql_query/3: drop option to accept any SSL certificate.  Code that insists loading silently from insecure systems should provide their own certificate checking.  See ssl_context/3, option `cert_verify_hook(:Goal)`.", 'SWI-Prolog/packages-semweb').
 1523changelog_event(split_string/4, fixed, 80130, 1587715372, "856d59173b9d6c178ea0834470098939f0b94d75", "FIXED: split_string/4 on long strings (Jos de Roo).", 'SWI-Prolog/swipl-devel').
 1524changelog_event(spy/1, enhanced, 80508, 1644832038, "7f1517ec1492f4c74b51e9be8e6fb6c3ba47cadc", "ENHANCED: Avoid tracing inside spy/1, nospy/1 and related debug control predicates.", 'SWI-Prolog/swipl-devel').
 1525changelog_event(spy/1, fixed, 100106, 1773686433, "268e3efd4ca368e3ad7fd49a8fe6e5a58ccce6de", "FIXED: spy/1 to enable debug mode again", 'SWI-Prolog/swipl-devel').
 1526changelog_event(src_file/2, fixed, 90201, 1707033791, "84784c8781d883961f2e372526eb4510f05e01f5", "FIXED: prolog_deps:src_file/2 SSU error", 'SWI-Prolog/swipl-devel').
 1527changelog_event(ssl_context/3, fixed, 80127, 1585306100, "67dfaeb5d46b23b234168d0d817dd401603b197c", "FIXED: ssl_context/3: declare new `cacerts` option", 'SWI-Prolog/packages-ssl').
 1528changelog_event(ssl_context/3, modified, 80121, 1578323316, "ff71807da56487b34750978b08c0aac4e8803acd", "MODIFIED: ssl_context/3 option processing. The option cacert_file(File) has been deprecated in favor of cacerts(List) to ensure unambiguous merging of options. This notably affects the hook http:open_options/2 when both cacert_file and cacerts options are provided.   New rules:", 'SWI-Prolog/packages-ssl').
 1529changelog_event(ssl_context/4, fixed, 80310, 1603368568, "f7a0c3969b409ce249facc4160cfb24ffd9ff967", "FIXED: ssl_context/4: Failure to report an error if the the certificate file does not exists.", 'SWI-Prolog/packages-ssl').
 1530changelog_event(ssl_property/2, introduced, 80128, 1586418630, "6dbf068abc3692b4be045c3133bb116f93ebde56", "ADDED: ssl_property/2. Used to maintain compatibility wrt the close_parent property of the HTTP SSL hooks.", 'SWI-Prolog/packages-ssl').
 1531changelog_event(ssl_upgrade_legacy_options/2, introduced, 80124, 1582886046, "e2cf0ab089c6f528e29f0c8b34e086acfd8da74e", "ADDED: export ssl_upgrade_legacy_options/2 from library(ssl) to cleanup dependency handling.", 'SWI-Prolog/packages-ssl').
 1532changelog_event(start_emacs/0, fixed, 90324, 1745221979, "a135c676cda84f806f640b0063017821d2a6a725", "FIXED: Undefined call to start_emacs/0", 'SWI-Prolog/packages-pldoc').
 1533changelog_event(start_subsumptive_tabling/2, introduced, 80108, 1560688922, "61edf2b4dffa80c4720386058f7360d95ae7b2aa", "ADDED: subsumptive tabling.", 'SWI-Prolog/swipl-devel').
 1534changelog_event(statistics/2, added, 80127, 1585561348, "d828e01fa5289019267b85b6471b689ff21a3bf0", "ADDED: statistics/2: atom_space and functor_space to get the used memory.", 'SWI-Prolog/swipl-devel').
 1535changelog_event(statistics/2, added, 80127, 1585572342, "71c9c622005d35696f6d15bb3df4fcb55bd38921", "ADDED: statistics/2 `threads_peak` to get an indication of the highest level of concurrency reached.", 'SWI-Prolog/swipl-devel').
 1536changelog_event(statistics/2, added, 80324, 1620476273, "3f64d13a6fe22ad4318d088f229fbefa2e3638b2", "ADDED: statistics/2 and thread_statistics/3 keys `warnings` and `errors`.", 'SWI-Prolog/swipl-devel').
 1537changelog_event(statistics/2, fixed, 80115, 1569766973, "c7debf6543b7d0829a6ddc970dc3145d179db10d", "FIXED: statistics/2 for `table_space_used` multiplied the value incorrectly with sizeof(trie_node).  New stats also include the trie itself and the call trie.  It ignores node indexes though.", 'SWI-Prolog/swipl-devel').
 1538changelog_event(statistics/2, modified, 90109, 1679679342, "93c3f9c29eda9a27a203842d193cfaceb64935e7", "MODIFIED: statistics/2 `cputime` and `infereneces` to include completed \"child threads\".", 'SWI-Prolog/swipl-devel').
 1539changelog_event(stream_pair/3, fixed, 80121, 1579370121, "cb25bef5cb6d3ecc96d435e160e7dcbc406d1287", "FIXED: Issue#537: stream_pair/3 crashed if the first argument is not a blob (atom or stream pair).  Reported by Peter Ludemann.", 'SWI-Prolog/swipl-devel').
 1540changelog_event(stream_to_lazy_chars/2, introduced, 100112, 1784035682, "6f9c1a09778d8018edff3bd075b94400079a9c48", "ADDED: #667 phrase_from_file/3: as(Type) argument, phrase_from_stream/3, stream_to_lazy_codes/2 and stream_to_lazy_chars/2", 'SWI-Prolog/swipl-devel').
 1541changelog_event(stream_to_lazy_codes/2, introduced, 100112, 1784035682, "6f9c1a09778d8018edff3bd075b94400079a9c48", "ADDED: #667 phrase_from_file/3: as(Type) argument, phrase_from_stream/3, stream_to_lazy_codes/2 and stream_to_lazy_chars/2", 'SWI-Prolog/swipl-devel').
 1542changelog_event(string_bytes/2, fixed, 80516, 1661788897, "4d420349def89840063131bfb03f71f954109ea9", "FIXED: string_bytes/2 in mode (+,-) for UTF-16 encoding on Windows. Reported by Matthias Gondan.", 'SWI-Prolog/swipl-devel').
 1543changelog_event(string_bytes/3, fixed, 80515, 1657380758, "da15aa33ec00827b1e4ad3619c40b5599f30ad34", "FIXED: string_bytes/3 to `ascii`: avoid crash and raise an exception if the text cannot be represented using ASCII.", 'SWI-Prolog/swipl-devel').
 1544changelog_event(string_bytes/3, fixed, 90303, 1710497953, "56772ba9e92579445b72912102bb4a4f83255d53", "FIXED: Memory leak in string_bytes/3.", 'SWI-Prolog/swipl-devel').
 1545changelog_event(string_bytes/3, introduced, 80514, 1657285912, "28db05f677bd1047c084f4d1a63fec951e92aed5", "ADDED: string_bytes/3, get the bytes for representing a (Unicode) string in a given encoding.", 'SWI-Prolog/swipl-devel').
 1546changelog_event(string_chars/2, modified, 80301, 1590938743, "300eddcefbfe47ae47f730592677002ccee3f47b", "MODIFIED: atom_string/2, string_chars/2, string_codes/2 and text_to_string/2 accept any text representation as input on both arguments.  If both are instantiated, string comparison is applied.", 'SWI-Prolog/swipl-devel').
 1547changelog_event(string_codes/2, modified, 80301, 1590938743, "300eddcefbfe47ae47f730592677002ccee3f47b", "MODIFIED: atom_string/2, string_chars/2, string_codes/2 and text_to_string/2 accept any text representation as input on both arguments.  If both are instantiated, string comparison is applied.", 'SWI-Prolog/swipl-devel').
 1548changelog_event(string_length/2, fixed, 90104, 1673969448, "70c7ff3144c8eee786e87293b55be22c9601301a", "FIXED: Windows: string_length/2 did not handle UTF16 surrogate pairs correctly.", 'SWI-Prolog/swipl-devel').
 1549changelog_event(sub_atom/5, fixed, 80512, 1653333913, "a7321dda56275bd210c5fde2fb0f1ef77c49b5cd", "FIXED: eliminated a spurious choice-point in sub_atom/5", 'SWI-Prolog/swipl-devel').
 1550changelog_event(sub_term_shared_variables/3, introduced, 80317, 1609238436, "3aaa7b875e87fc3947c1649c4c936aae6bbb758c", "ADDED: sub_term_shared_variables/3 to library(occurs).", 'SWI-Prolog/swipl-devel').
 1551changelog_event(subseq/3, introduced, 90107, 1676741084, "3a90275836a2594eaba40394fc46e8dc2e51e8f0", "ADDED: library(lists): subseq/3.", 'SWI-Prolog/swipl-devel').
 1552changelog_event(summarize_idg/0, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1553changelog_event(summarize_idg/1, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1554changelog_event(sweep_fd_open/2, introduced, 100114, 1674370914, "a9d0eb222f6efc128d1280db0669820d061b5149", "ADDED: command to pipe output of Prolog goals to Emacs buffers", 'SWI-Prolog/packages-sweep').
 1555changelog_event(sweep_funcall/2, fixed, 80518, 1663958618, "8179cb42041c0207f3bdcfb8aee9d9d701296a0e", "FIXED: qualify calls to sweep_funcall/2", 'SWI-Prolog/packages-sweep').
 1556changelog_event(sweep_funcall/2, introduced, 80518, 1661876977, "a06906287f0f415a7695c846bb9004291ee5993f", "ADDED: sweep_funcall/2,3 for calling Elisp functions from Prolog", 'SWI-Prolog/packages-sweep').
 1557changelog_event(sweep_funcall/3, introduced, 80518, 1661876977, "a06906287f0f415a7695c846bb9004291ee5993f", "ADDED: sweep_funcall/2,3 for calling Elisp functions from Prolog", 'SWI-Prolog/packages-sweep').
 1558changelog_event(sweep_identifier_at_point/2, fixed, 100114, 1665830303, "0e575f97bbb91d61f64ce9d785dcb044b7216d91", "FIXED: sweep_identifier_at_point/2: possible infinite failure loop", 'SWI-Prolog/packages-sweep').
 1559changelog_event(sweep_load_buffer/3, fixed, 80518, 1662912640, "b168465391d24dbdcc6827606e8a3a81702a5e56", "FIXED: sweep_load_buffer/3: load files in the context of \"user\"", 'SWI-Prolog/packages-sweep').
 1560changelog_event(sweep_op_info/2, added, 80518, 1663777865, "5b9e2d7d7c13b78fc3be92a4a94553bdefc0b3ab", "ADDED: sweep_op_info/2: new_predicate", 'SWI-Prolog/packages-sweep').
 1561changelog_event(sweep_predicate_location/2, fixed, 80518, 1662907615, "92f599fbbcb5b25557df067647f92cbef3491ae0", "FIXED: premature cut in sweep_predicate_location/2", 'SWI-Prolog/packages-sweep').
 1562changelog_event(sweep_predicates_collection/2, fixed, 80518, 1662908647, "7327016d1543e390117375580b7d5796e8470d82", "FIXED: sweep_predicates_collection/2: include preds defined in user", 'SWI-Prolog/packages-sweep').
 1563changelog_event(swiplserver/1, added, 80503, 1637087001, "36da13163330f90545f292260c23a77cbc8fd28b", "ADDED: Created Python swiplserver 1.0.1 on pypi.org (https://pypi.org/project/swiplserver/1.0.1/) to include fixed file handle leak", 'SWI-Prolog/packages-mqi').
 1564changelog_event(symbol_picker/0, introduced, 100108, 1779028643, "ad38597dbfdd3fc8f5d9de3383d067affa4f1a2c", "ADDED: library(pce_symbol_picker) for picking Unicode symbols", 'SWI-Prolog/packages-xpce').
 1565changelog_event(symbol_picker/1, introduced, 100108, 1779028643, "ad38597dbfdd3fc8f5d9de3383d067affa4f1a2c", "ADDED: library(pce_symbol_picker) for picking Unicode symbols", 'SWI-Prolog/packages-xpce').
 1566changelog_event(tab/1, added, 80325, 1621928614, "3b11234b6bfd52c6d8360f35bab2584e24248c7c", "ADDED: tab/1 to Pengine I/O emulation, emitting ``&nbsp``", 'SWI-Prolog/packages-pengines').
 1567changelog_event(tab/1, fixed, 80505, 1640703753, "316e84e4ba3ab28dc757568480ae67976bbac213", "FIXED: Pengine emulation of tab/1 to accept an expression.", 'SWI-Prolog/packages-pengines').
 1568changelog_event((table)/1, added, 80108, 1559637750, "609a02a8875cb73bb8f4f74d50c7e52598e5fea3", "ADDED: dynamic invocation of table/1", 'SWI-Prolog/swipl-devel').
 1569changelog_event((table)/1, added, 80109, 1561059293, "9698d3859d32d5592c18a1921559d25bdfc060b2", "ADDED: table/1: allow for answer subsumption using `lattice(name(_,_,_))` for compatibility with XSB.", 'SWI-Prolog/swipl-devel').
 1570changelog_event((table)/1, added, 80113, 1566487171, "7326c31941e64cfa057acf0ff7dd54cec4e4cdda", "ADDED: detect removal of table/1 directives during reconsult and call untable/1 to remove the tabling for these predicates.  Not yet working.", 'SWI-Prolog/swipl-devel').
 1571changelog_event((table)/1, enhanced, 80104, 1552647710, "9645bcbe1a9f5a232137537544f6394fa4f2053f", "ENHANCED: Colour :- table/1 declaration.", 'SWI-Prolog/swipl-devel').
 1572changelog_event((table)/1, fixed, 80103, 1552307223, "171872b20523073eba48452d3333c23312c08aea", "FIXED: :- table/1: undefined predicate check should ignore implicitly imported predicates.", 'SWI-Prolog/swipl-devel').
 1573changelog_event((table)/1, fixed, 80109, 1561043194, "3e95eceaf6cd1ecfe83bc0d34ef5c9179d7e3994", "FIXED: table/1: Allow specifying arity-0 predicates with just their name (as it is interpreted as a special case for answer subsumption).", 'SWI-Prolog/swipl-devel').
 1574changelog_event((table)/1, fixed, 80109, 1562144137, "9b8f4db5e0ae53c14cc5c7ceedd64b2311141a4b", "FIXED: Allow module qualification in specification of table/1.", 'SWI-Prolog/swipl-devel').
 1575changelog_event((table)/1, fixed, 80110, 1563184815, "f17216555542c10b9fa8e3af5e558c81adc9c753", "FIXED: table/1: avoid discontiguous warnings.  Edison Mera.", 'SWI-Prolog/swipl-devel').
 1576changelog_event((table)/1, fixed, 80121, 1578672686, "e7c0be6bd53740bb36e972693627d34af2270bfd", "FIXED: table/1: answer subsumption (mode) specifications with only indexed arguments.", 'SWI-Prolog/swipl-devel').
 1577changelog_event(table_statistics/0, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1578changelog_event(table_statistics/1, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1579changelog_event(table_statistics/2, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1580changelog_event(table_statistics/3, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1581changelog_event(table_statistics_by_predicate/0, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1582changelog_event(table_statistics_by_predicate/1, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1583changelog_event(tbacktrace/1, introduced, 80121, 1578320340, "8dae7f02c2adc093c94d86c33d3617d449b778ce", "ADDED: tbacktrace/1,2: print the stack of another thread in the console for debugging purposes.", 'SWI-Prolog/swipl-devel').
 1584changelog_event(tbacktrace/2, introduced, 80121, 1578320340, "8dae7f02c2adc093c94d86c33d3617d449b778ce", "ADDED: tbacktrace/1,2: print the stack of another thread in the console for debugging purposes.", 'SWI-Prolog/swipl-devel').
 1585changelog_event(tcp_connect/3, enhanced, 90105, 1675767116, "23d12ecea3e5672f48798973f439b743842b811b", "ENHANCED: tcp_connect/3 to stick with using the address information if no socket domain is specified, rethrowing the first exception if the connection fails.", 'SWI-Prolog/packages-clib').
 1586changelog_event(tcp_connect/3, fixed, 80508, 1645124009, "ff3a86ae906f680bfd12c641e9a7fb679029dd34", "FIXED: tcp_connect/3 and other predicates that rely on nbio_get_sockaddr() to initialize the unused part of the address.", 'SWI-Prolog/packages-clib').
 1587changelog_event(tcp_connect/3, modified, 90105, 1675713056, "d1de9e78695accf723f621cbdcc1ad1721726e1a", "MODIFIED: tcp_connect/3 now tries addresses returned by host_address/2 in order.   This typically prefers IPv6 addresses over IPv4 and connects properly if the server can only be accessed on one of these domains.", 'SWI-Prolog/packages-clib').
 1588changelog_event(tcp_connect_/2, introduced, 90119, 1699534583, "20c2f2fd69a070ba9d55b6488af3ad86f95e2072", "ADDED: socket:rewrite_host/3 hook for tcp_connect/2", 'SWI-Prolog/packages-clib').
 1589changelog_event(tdump/0, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1590changelog_event(tdump/1, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1591changelog_event(tdump/2, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1592changelog_event(tell/1, fixed, 90303, 1710505982, "47081333fa2dae553545627384f7e07bf8fdd894", "FIXED: tell/1: properly manage standard stream references.", 'SWI-Prolog/swipl-devel').
 1593changelog_event(term_expansion/2, added, 80101, 1548242480, "a6eec353ae96d5fff35e6a3241964ea142cd981e", "ADDED: term_expansion/2,4: add pseudo term `begin_of_file` to the expansion stream.", 'SWI-Prolog/swipl-devel').
 1594changelog_event(term_expansion/2, fixed, 80507, 1643963979, "9845ef32bfc2846813b3c1bc562c94328e301ac6", "FIXED: term_expansion/2 for rdf_meta/1 contained a !, preventing other rules to fire.", 'SWI-Prolog/packages-semweb').
 1595changelog_event(term_expansion/2, fixed, 90104, 1674739260, "2e292b42b9504543e81582d2386862ee15b22d71", "FIXED: Avoid defining user:term_expansion/2 as discontiguous.  It is not defined for swi, causing check/0 to report a warning.", 'SWI-Prolog/packages-plunit').
 1596changelog_event(term_hash/2, fixed, 80502, 1635609728, "d769fa39708d17974f948c9ffc1b684f24ee8675", "FIXED: Hash consistency on pointer sided integers for 64-bit bigendian machines. Only affects consistency of term_hash/2 over platforms.", 'SWI-Prolog/swipl-devel').
 1597changelog_event(term_hash/2, fixed, 90103, 1673467635, "f404856571496232020e7f763e8f546ecce74f84", "FIXED: Issue#1092: term_hash/2,4 crashes on Unicode strings.", 'SWI-Prolog/swipl-devel').
 1598changelog_event(term_hash/2, fixed, 100103, 1769882914, "f23d0a31293ad304e788eaeff59b606a3b2d0d54", "FIXED: term_hash/2: exception when exhausting memory.", 'SWI-Prolog/swipl-devel').
 1599changelog_event(term_hash/2, modified, 90329, 1755625827, "cc3e540a41ecd66f63719ba08c95d875cc0a80f6", "MODIFIED: term_hash/2: extended range", 'SWI-Prolog/swipl-devel').
 1600changelog_event(term_singletons/2, fixed, 80113, 1566544443, "dbe3c18e4ca528a6ae9076263aab8d44d1edaffd", "FIXED: Issue#498: crash in term_singletons/2 if second argument is instantiated.", 'SWI-Prolog/swipl-devel').
 1601changelog_event(term_string/2, modified, 90305, 1714206267, "c60103a2df235d6c52221576a6b531df67bbcbd6", "MODIFIED: term_string/2,3, atom_to_term/2 and read_term_from_atom/3 now raise exception on empty input", 'SWI-Prolog/swipl-devel').
 1602changelog_event(term_to_dot/2, introduced, 100112, 1783687379, "739ceddea39f2742eb6fccfef7316be970a2acce", "ADDED: library(graphviz_term), converting Prolog terms into `.dot` files", 'SWI-Prolog/packages-xpce').
 1603changelog_event(test/1, added, 80518, 1664893024, "0e4a3b4ecb2484d653ce5526b453fbaa6a847043", "ADDED: Colour test/1 and test/2 heads and classify them as tests when inside a unit test body.", 'SWI-Prolog/swipl-devel').
 1604changelog_event(test/1, fixed, 90119, 1699978465, "10ef42b83a4b091a36da18d5531a4dabfbc981a4", "FIXED: Clause position handling of plunit test/1,2 clauses.", 'SWI-Prolog/swipl-devel').
 1605changelog_event(test/2, added, 80518, 1664893024, "0e4a3b4ecb2484d653ce5526b453fbaa6a847043", "ADDED: Colour test/1 and test/2 heads and classify them as tests when inside a unit test body.", 'SWI-Prolog/swipl-devel').
 1606changelog_event(test_installation/0, fixed, 80301, 1590764124, "0f9018c27e3b98ba05340a40cc083e21333ea1e6", "FIXED: Be more selective in classifying files as `library` files.  Notably do not make the test files library files as this breaks the XSB emulation and thus test_installation/0.", 'SWI-Prolog/swipl-devel').
 1607changelog_event(test_set_options/1, added, 90102, 1670574398, "88690e9ded3dfb5cc3701ac02bf4e7a8f5766137", "ADDED: test_set_options/1: output(+Mode) to suppress output or emit it only after the test fails.", 'SWI-Prolog/packages-plunit').
 1608changelog_event(text_to_string/2, modified, 80301, 1590938743, "300eddcefbfe47ae47f730592677002ccee3f47b", "MODIFIED: atom_string/2, string_chars/2, string_codes/2 and text_to_string/2 accept any text representation as input on both arguments.  If both are instantiated, string comparison is applied.", 'SWI-Prolog/swipl-devel').
 1609changelog_event(thread_alias/1, introduced, 80120, 1577111312, "d69bf78f56d1e7dbb06aa761d586617f837f4ff8", "ADDED: thread_alias/1 to give a thread an alias name after creation.", 'SWI-Prolog/swipl-devel').
 1610changelog_event(thread_at_exit/1, introduced, 80109, 1561293780, "c3d497ee0fb9f405dce078fbb0e845f3d54284d1", "ADDED: prolog_listen/2,3 and prolog_unlisten/2 to register hooks into the Prolog engine that allow trapping certain events.  This replaces and generalises the undocumented prolog_event_hook/1 hook used by the debugger.", 'SWI-Prolog/swipl-devel').
 1611changelog_event(thread_create/3, fixed, 90307, 1716549802, "f846c9054c3fd22a9d5079701f588a142d3d30f4", "FIXED: thread_create/3: handling of `c_stack` option.", 'SWI-Prolog/swipl-devel').
 1612changelog_event(thread_detach/1, fixed, 80327, 1624779053, "babf6491e1b7b47329786ef5b3ae387cc29b7b5e", "FIXED: Avoid a race condition between thread_join/2 and thread_detach/1 and disallow multiple threads to join the same thread.  Updated docs for thread_join/2.", 'SWI-Prolog/swipl-devel').
 1613changelog_event(thread_exit/1, enhanced, 80112, 1566284293, "407085bf14c873a6d80159d6217b305e6cf56e78", "ENHANCED: freePrologThread() may be called from a different thread than the terminating one, notably for thread_exit/1.  We now set LD to the local data of the thread being destroyed such that cleanup handlers act on the right data.  This is like engines operating on a different OS thread.  This fixes a problem in the Windows port where thread cleanup is not done right.", 'SWI-Prolog/swipl-devel').
 1614changelog_event(thread_exit/1, fixed, 90311, 1725527237, "b625e6d685a5626103dd238f25c664aa23850bd1", "FIXED: #1317 thread_exit/1 can crash after changes to thread_signal/2.", 'SWI-Prolog/swipl-devel').
 1615changelog_event(thread_exit/1, modified, 90303, 1710160456, "88de8f0471b7ba08372020383586f2785d9bbbb4", "MODIFIED: Discontinue thread_exit/1 on Windows", 'SWI-Prolog/swipl-devel').
 1616changelog_event(thread_exit/1, modified, 90313, 1727882771, "c5d7333d28b508b799cf3247ad9b834844a37fcb", "MODIFIED: Re-implement thread_exit/1 based on unwind(thread_exit(Term)).", 'SWI-Prolog/swipl-devel').
 1617changelog_event(thread_get_message/1, added, 80117, 1574351373, "4999727d8f7398ad58781d8cc2f5d3402cf631eb", "ADDED: thread_get_message/1-3: allow more selective matching of terms using constraints.", 'SWI-Prolog/swipl-devel').
 1618changelog_event(thread_get_message/1, fixed, 80302, 1591962584, "65fcf7b948103ca92d89a3e762e9f0de94503db8", "FIXED: thread_get_message/1,2 could not wakeup after a message arrived.", 'SWI-Prolog/swipl-devel').
 1619changelog_event(thread_get_message/3, added, 90307, 1716408448, "51424223b49288e40a732b237f34cf41d07997d1", "ADDED: thread_get_message/3 and thread_send_message/3: signals(BoolOrTime) option.", 'SWI-Prolog/swipl-devel').
 1620changelog_event(thread_idle/2, enhanced, 80127, 1585482476, "7873e57722fef82a193a968ff5e47a52a680371a", "ENHANCED: Use new thread_idle/2 to wait for a new HTTP message.", 'SWI-Prolog/packages-http').
 1621changelog_event(thread_idle/2, enhanced, 80511, 1650612738, "01ed91952bec5c89313fb61c778e8caf108116d1", "ENHANCED: Pengines waiting for a new event now wait the first second without idling.   After than they call thread_idle/2 to minimise their footprint.   This avoids garbage collections for short waits while going into a deeper sleep mode for a long wait.", 'SWI-Prolog/packages-pengines').
 1622changelog_event(thread_idle/2, fixed, 80127, 1585482435, "94f1d1d1f660df4780d212586bb148e063b7de34", "FIXED: Added meta-predicate declaration for thread_idle/2.", 'SWI-Prolog/swipl-devel').
 1623changelog_event(thread_idle/2, introduced, 80127, 1585149594, "4fdd8941629dc373de8e025bb1793ee11fcb34cb", "ADDED: thread_idle/2 and, when linked to tcmalloc, malloc_property/1 and set_malloc/1.", 'SWI-Prolog/swipl-devel').
 1624changelog_event(thread_join/1, enhanced, 80111, 1565096993, "5dcd79dac4f722be1821f8d2b349c324b91ba224", "ENHANCED: thread_join/1: better error message.  Also, the error term got an extra argument providing the thread that failed.", 'SWI-Prolog/swipl-devel').
 1625changelog_event(thread_join/2, fixed, 80112, 1566242504, "c0cbdf41f6e6c4aba6469c204d6756943e0270be", "FIXED: Wrong assertion for Windows causing a possible crash in thread_join/2.", 'SWI-Prolog/swipl-devel').
 1626changelog_event(thread_join/2, fixed, 80327, 1624779053, "babf6491e1b7b47329786ef5b3ae387cc29b7b5e", "FIXED: Avoid a race condition between thread_join/2 and thread_detach/1 and disallow multiple threads to join the same thread.  Updated docs for thread_join/2.", 'SWI-Prolog/swipl-devel').
 1627changelog_event(thread_join/2, fixed, 90325, 1748089389, "5819a030b4fc3061d1662b58ac91718931874631", "FIXED: thread_join/2: could leave ``L_THREAD`` mutex locked on error.", 'SWI-Prolog/swipl-devel').
 1628changelog_event((thread_local)/1, fixed, 80309, 1601477805, "066b2b7ef10e8d480e714034b13b3ce965203955", "FIXED: race condition between thread_local/1 and accessing the predicate structure.  Vincent Koeman.", 'SWI-Prolog/swipl-devel').
 1629changelog_event(thread_property/2, added, 80127, 1585572342, "aa0218b5da022a65ac587707a4a67af24b0a2cab", "ADDED: thread_property/2: size(Bytes) property", 'SWI-Prolog/swipl-devel').
 1630changelog_event(thread_property/2, added, 100105, 1772966576, "ddaa829ddbc8d0ca392a030170f41aa967edd665", "ADDED: thread_property/2: debug_mode(-Boolean) property", 'SWI-Prolog/swipl-devel').
 1631changelog_event(thread_property/2, fixed, 100105, 1772798450, "622e1dba7024a3a96caa72f4ed978c1b58176180", "FIXED: thread_property/2: `system_thread_id` on Linux", 'SWI-Prolog/swipl-devel').
 1632changelog_event(thread_send_message/2, enhanced, 80302, 1591969854, "049a171f77f9b8edb3710c0b53ab63d68fec03ea", "ENHANCED: thread_send_message/2: reduce time the queue mutex is held.", 'SWI-Prolog/swipl-devel').
 1633changelog_event(thread_send_message/2, fixed, 80124, 1583314613, "a141e99e9a6ee0a77d9240febbbd952314d0b80a", "FIXED: handling rational numbers in records could result in wrong value or a crash. Records are used (for example) in recorda/2, findall/3, thread_send_message/2.", 'SWI-Prolog/swipl-devel').
 1634changelog_event(thread_send_message/3, added, 90307, 1716408448, "51424223b49288e40a732b237f34cf41d07997d1", "ADDED: thread_get_message/3 and thread_send_message/3: signals(BoolOrTime) option.", 'SWI-Prolog/swipl-devel').
 1635changelog_event(thread_signal/1, enhanced, 80303, 1593368054, "3bed13b031c47d0de9809629c836e7d7997dfbe8", "ENHANCED: thread_signal/1: avoid a max 0.25 sec wait if the signalled thread is blocked on a message queue.", 'SWI-Prolog/swipl-devel').
 1636changelog_event(thread_signal/2, added, 90325, 1748004629, "647199c1894d3b3853405ca3ad455e1afba2b61d", "ADDED: Allow thread_signal/2 to raise native signals by number.", 'SWI-Prolog/swipl-devel').
 1637changelog_event(thread_signal/2, enhanced, 80114, 1568195249, "2c81e0a5eabcf765ac4833f16574cac91b02957a", "ENHANCED: Allow processing thread_signal/2 messages.", 'SWI-Prolog/packages-libedit').
 1638changelog_event(thread_signal/2, enhanced, 80501, 1633954313, "b392effc80f2adf8a43309d153ce6b401cedb6b2", "ENHANCED: thread_signal/2: reduce the locked section", 'SWI-Prolog/swipl-devel').
 1639changelog_event(thread_signal/2, fixed, 90308, 1717756714, "e7ba6036fcf8415c0d00ea6ad309c3733a0486ea", "FIXED: thread_signal/2: may raise exception and succeed.", 'SWI-Prolog/swipl-devel').
 1640changelog_event(thread_signal/2, fixed, 90311, 1725116789, "05516f400153a5c3d886962159a894a9e6e467af", "FIXED: Race conditions in thread_signal/2 and friends.", 'SWI-Prolog/swipl-devel').
 1641changelog_event(thread_statistics/3, added, 80324, 1620476273, "3f64d13a6fe22ad4318d088f229fbefa2e3638b2", "ADDED: statistics/2 and thread_statistics/3 keys `warnings` and `errors`.", 'SWI-Prolog/swipl-devel').
 1642changelog_event(thread_update/2, fixed, 80504, 1639127508, "b2dee800802241c3de762334480e32b7d7c9db9a", "FIXED: thread_update/2 when no change is made to the target module should still wakeup.", 'SWI-Prolog/swipl-devel').
 1643changelog_event(thread_wait/2, enhanced, 80326, 1623765673, "14313ef8e3cb610d36c789479ea27df2759f03f4", "ENHANCED: Avoid unnecessary wakeup in thread_wait/2 from modifications inside a transaction.  Do notify on the transaction commit.", 'SWI-Prolog/swipl-devel').
 1644changelog_event(thread_wait/2, fixed, 80317, 1610012366, "196e3c1df8424100e1c97b05d0cfb0434d70ba8e", "FIXED: thread_wait/2 handling of the timeout option.", 'SWI-Prolog/swipl-devel').
 1645changelog_event(thread_wait/2, fixed, 80501, 1633946406, "03206899b651e4d9241222a302e1755d2d093137", "FIXED: thread_wait/2: return when condition is true before this predicate is called.", 'SWI-Prolog/swipl-devel').
 1646changelog_event(thread_wait/2, fixed, 80501, 1633946406, "ef8ae087ee2a10f6f2e4d3fb1acd93ffd88bfd57", "FIXED: thread_wait/2: `wait_preds` option accepted non-predicate indicators.", 'SWI-Prolog/swipl-devel').
 1647changelog_event(thread_wait/2, fixed, 90001, 1669667790, "143dd1856c3374f6e7cb58be2969415d52d5cf40", "FIXED: thread_wait/2: race condition in updating threads waiting for a module.", 'SWI-Prolog/swipl-devel').
 1648changelog_event(thread_wait/2, modified, 80326, 1623765679, "b9cd7779df1edee10a582b1263fef65e3f8f1f74", "MODIFIED: Interaction between thread_wait/2 and transactions: database changes do not wakeup threads that are in a transaction because the change is invisible anyway and thread_wait/2 cannot be called inside a transaction as nothing can cause a wakeup.", 'SWI-Prolog/swipl-devel').
 1649changelog_event(thread_wait_on_goal/2, introduced, 80303, 1592574864, "1affa9d2fd91146ff7d360acef3c570cc54bcd33", "ADDED: thread_wait_on_goal/2 to wait for database changes.  This predicate is similar to its Qu-Prolog cousin.", 'SWI-Prolog/swipl-devel').
 1650changelog_event(thread_wait_on_goal/2, modified, 80303, 1592668057, "0ea1897b0043e7967576157a09008cc146e2bf0f", "MODIFIED: thread_wait_on_goal/2: make it per-module rather than global over the database.", 'SWI-Prolog/swipl-devel').
 1651changelog_event(thread_wait_on_goal/2, modified, 80303, 1593159144, "df4349c1617ccc4a5a3754e7bd3bc69acdc39a3d", "MODIFIED: Renamed thread_wait_on_goal/2 into thread_wait/2 and added thread_update/2.", 'SWI-Prolog/swipl-devel').
 1652changelog_event(throw/2, fixed, 80308, 1599751098, "79929658b60832693465e1fa884e086702fd7a6e", "FIXED: calling throw/2 rather than throwme/2.", 'SWI-Prolog/packages-jpl').
 1653changelog_event(tidg/0, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1654changelog_event(tidg/1, fixed, 100110, 1782131603, "1a9613d2ae61acf1aa94182917be55b77f1674c8", "FIXED: tidg/1: meta predicate declaration.", 'SWI-Prolog/swipl-devel').
 1655changelog_event(tidg/1, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1656changelog_event(tipc_paxos_replicate/1, fixed, 80315, 1607880511, "60d818497c0283f1752bad90ed3a9a24108dcfdf", "FIXED: tipc_paxos_replicate/1 called non-existing predicate.  Removed.", 'SWI-Prolog/contrib-tipc').
 1657changelog_event(tmp_file/2, fixed, 80115, 1570290741, "34b18b7a0a59ae0d8fb49c66e4225d1676767e34", "FIXED: Windows: tmp_file/2 memory leak", 'SWI-Prolog/swipl-devel').
 1658changelog_event(tmp_file/2, fixed, 80319, 1611766152, "933daa95a2aa85b905d26511ba1cb4c57a2c5be4", "FIXED: Issue#772: tmp_file/2 not to generate the same name in two threads.", 'SWI-Prolog/swipl-devel').
 1659changelog_event(tmp_file_stream/3, added, 80104, 1552599076, "66354c3fc3e7ec61599e33d5728a2759b10648c3", "ADDED: issue#447: tmp_file_stream/3 sets the `file_name` property of the created file. Peter Ludemann.", 'SWI-Prolog/swipl-devel').
 1660changelog_event(tmp_file_stream/3, fixed, 80114, 1569227443, "f8a57974c4332db86f2d3646260e1020f1142fa5", "FIXED: tmp_file_stream/3 for unicode temp directory.  Surely fixed on non-Windows.  I do not have the right setup to test on Windows.", 'SWI-Prolog/swipl-devel').
 1661changelog_event(tnodebug/0, fixed, 100107, 1778076006, "e8eb2bca112d8e4028c1ef1e58efab831ea8b146", "FIXED: tnodebug/0.  Raised domain error.", 'SWI-Prolog/swipl-devel').
 1662changelog_event(tnot/1, enhanced, 80108, 1559827140, "d205e8d7d0760bc8145c1a3d0950ed3bf9b13c82", "ENHANCED: Avoid quadratic behaviour on deep tnot/1 negation chains.", 'SWI-Prolog/swipl-devel').
 1663changelog_event(tnot/1, fixed, 80108, 1560608631, "1d04b356ec17b4ce61995cc5ec8aa8777380ee7e", "FIXED: tnot/1: correctly handle imported predicates and raise an error if the called predicate is not tabled.", 'SWI-Prolog/swipl-devel').
 1664changelog_event(tnot/1, fixed, 80111, 1564051375, "41ec9e6c4e9a4b18d18edbdc1129cf00d3d113d4", "FIXED: Split '$tbl_implementation'/2 using a variant that only verifies the argument is tabled for tnot/1.  Fixes introspection predicates from raising errors.", 'SWI-Prolog/swipl-devel').
 1665changelog_event(tnot/1, fixed, 80327, 1626176357, "1b18539d0205033e60ff2a6c28efe488a9557ff8", "FIXED: tnot/1 table status evaluation during incremental re-evaluation.", 'SWI-Prolog/swipl-devel').
 1666changelog_event(tnot/1, fixed, 80328, 1626371602, "1750b24d77505d3b1f35aa3d9865f94226c3a129", "FIXED: Re-evaluation through a cycle where the argument of tnot/1 is invalid.", 'SWI-Prolog/swipl-devel').
 1667changelog_event(tnot/1, introduced, 80104, 1552827297, "3c21580a4edc614b8ea843fdb4f4d8f25baea326", "ADDED: tnot/1: tabled negation.", 'SWI-Prolog/swipl-devel').
 1668changelog_event(tnot/1, introduced, 80106, 1557916658, "bb0d1bdee550e96741466a7052a2fb1ec96c33be", "ADDED: Tabling to support Well Founded Semantics.  Work suppored by Kyndi, with lots of help from Theresa Swift and David S Warren.", 'SWI-Prolog/swipl-devel').
 1669changelog_event(tnot/2, fixed, 80328, 1626346229, "3c27824ff8c02205923ab2c12bf7018d666e5c43", "FIXED: If tnot/2 is evaluated from an existing table we must make sure this table is part of the dependency graph.", 'SWI-Prolog/swipl-devel').
 1670changelog_event(tokenize_atom/2, fixed, 80001, 1548328485, "719cc0e1dbcb8b57c2285a79770558893326470c", "FIXED: tokenize_atom/2 when the atom contains an illegal number could result in a variable (unbound) extra token in the output.", 'SWI-Prolog/packages-nlp').
 1671changelog_event(top_sort/2, modified, 90110, 1684240065, "3c638be4d99b7fc07685cd2528db48dbdb2595bd", "MODIFIED: top_sort/2, deleted top_sort/3 added ugraph_layers/2", 'SWI-Prolog/swipl-devel').
 1672changelog_event(trace/1, added, 80511, 1651751618, "66382acefda74be92098fcf267550cd1f25a3f45", "ADDED: Prolog flag `vmi_builtin` that controls whether or not built-in predicates that are defined in the VM are handled in the VM or called as normal predicates.  The latter was previously associated with debug mode, but has also other purposes, such as in coverage analysis or when using trace/1.", 'SWI-Prolog/swipl-devel').
 1673changelog_event(trace/1, added, 90103, 1673465108, "6da08427f59281669feb1ca43b5d3900031eecb6", "ADDED: trace/1,2: print wall time since call port for other ports.", 'SWI-Prolog/swipl-devel').
 1674changelog_event(trace/1, enhanced, 80320, 1614604644, "aa5f9813c61140f392c88e10ddcac7c4ee6c4685", "ENHANCED: trace/1,2: show calling thread if not `main`", 'SWI-Prolog/swipl-devel').
 1675changelog_event(trace/1, enhanced, 80327, 1624517927, "1e668cb4402776faf8ccc28db9dece1656c87674", "ENHANCED: trace/1,2 to work better on imported predicates, applying the wrapper directly to the implementation.", 'SWI-Prolog/swipl-devel').
 1676changelog_event(trace/1, enhanced, 80329, 1628262521, "dfc44d1461a4c2c32336b510753fb80193e832d1", "ENHANCED: trace/1,2: add recursion depth to output to make it easier to understand.", 'SWI-Prolog/swipl-devel').
 1677changelog_event(trace/1, enhanced, 90303, 1710234880, "c6809306859e23cf0b9972ffd8c928fb76c2fbe8", "ENHANCED: trace/1,2 and friends.", 'SWI-Prolog/swipl-devel').
 1678changelog_event(trace/1, fixed, 80110, 1563090482, "583dba140d928f4074dd3907c3262bc2d355689f", "FIXED: Deal with new trace/1,2 implementation.", 'SWI-Prolog/packages-xpce').
 1679changelog_event(trace/1, introduced, 80109, 1561463888, "60c51aac279baae587930c7e0255a74ce284e51b", "ADDED: library(prolog_trace) for printing access to predicates.", 'SWI-Prolog/swipl-devel').
 1680changelog_event(trace/1, modified, 80109, 1561453111, "fc6208e5198d5a334a4c73ee45d86c18c54823a5", "MODIFIED: Removed trace/1,2 from the core.  Will be re-added as library based on wrap_predicate/4 in subsequent commits.", 'SWI-Prolog/swipl-devel').
 1681changelog_event(trace/2, enhanced, 80501, 1633450915, "e94ea6ebc85af78f83e2f341a6e3fce4016dda24", "ENHANCED: trace/2 to delete that we are tracing this predicate if the port list is empty.", 'SWI-Prolog/swipl-devel').
 1682changelog_event(trace/2, fixed, 90104, 1674138389, "b9d89232154ad6e0015de517de7f464e18988f90", "FIXED: trace/2 using -all to stop considering the predicate traced.", 'SWI-Prolog/swipl-devel').
 1683changelog_event(trace/2, introduced, 80109, 1561463888, "60c51aac279baae587930c7e0255a74ce284e51b", "ADDED: library(prolog_trace) for printing access to predicates.", 'SWI-Prolog/swipl-devel').
 1684changelog_event(tracing/2, introduced, 80110, 1563090603, "22ec2c2b9f77b71e63989294df8e5f829fd612e2", "ADDED: tracing/2.", 'SWI-Prolog/swipl-devel').
 1685changelog_event(transaction/1, fixed, 80516, 1662462930, "dda289c0c471b9aff1dd290e54fa91391746bafc", "FIXED: transaction/1 in single threaded version.", 'SWI-Prolog/swipl-devel').
 1686changelog_event(transaction/1, introduced, 80304, 1594038917, "db334bef52fa1d3d9ac72b747864b8094699d681", "ADDED: Transaction isolation support.  See transaction/1 and snapshot/1.", 'SWI-Prolog/swipl-devel').
 1687changelog_event(transaction/2, added, 80312, 1605195087, "54348552b3a1f24dcd433144d084724c26556804", "ADDED: transaction/2, providing additional options to transactions.", 'SWI-Prolog/swipl-devel').
 1688changelog_event(transaction/2, added, 80312, 1605258590, "f5f2560f3908046c3bbee5436d23789a668e1486", "ADDED: transaction/2: option bulk(Boolean)", 'SWI-Prolog/swipl-devel').
 1689changelog_event(transaction/3, added, 80304, 1594221675, "47372614a0fd7a6bb99b480952902f076439a6fd", "ADDED: transaction/3", 'SWI-Prolog/swipl-devel').
 1690changelog_event(transaction_updates/1, fixed, 80320, 1614181636, "6627c9c7b3121529420ee953c1c2780d2e5ba37d", "FIXED: transaction_updates/1: avoid reporting compiled trie clauses. Tabling consistency must be managed elsewhere.", 'SWI-Prolog/swipl-devel').
 1691changelog_event(transaction_updates/1, introduced, 80304, 1594209859, "d6acafed42bd2da86fc6009e6baaa0234ce3f02b", "ADDED: transaction_updates/1 to get access to pending updates in a transaction.", 'SWI-Prolog/swipl-devel').
 1692changelog_event(transaction_updates/2, enhanced, 80304, 1594288675, "3c3720940bc1dae39068d08fae37faa626240d80", "ENHANCED: transaction_updates/2: distinguish asserta and assertz.", 'SWI-Prolog/swipl-devel').
 1693changelog_event(translate_bindings/5, fixed, 90329, 1756737877, "e8d93be37300c3e9f602bc5b50daa1f55f5b11b8", "FIXED: prolog:translate_bindings/5 looped", 'SWI-Prolog/swipl-devel').
 1694changelog_event(translate_bindings/5, modified, 90121, 1702470658, "124d57303d53c04f5c316479a7dda0f8a4ee14da", "MODIFIED: prolog:translate_bindings/5 to name the variables.", 'SWI-Prolog/swipl-devel').
 1695changelog_event(trap/1, added, 90110, 1684309577, "763807f68f7f14a1cce49abd2c25ba173136cc80", "ADDED: trap/1: aliases for `det` and `=>`.  Expandable.", 'SWI-Prolog/swipl-devel').
 1696changelog_event(trap/1, added, 90318, 1734611949, "1d3f462c81bc51a19d70ce06999dcd9cc6c83fba", "ADDED: trap/1: aliases for e.g. type_error -> type_error(_,_)", 'SWI-Prolog/swipl-devel').
 1697changelog_event(trap/1, enhanced, 90321, 1741686486, "86cd217fca3ea02334095654cdd8134545be28ae", "ENHANCED: trap/1: stop trapping direct catch.", 'SWI-Prolog/swipl-devel').
 1698changelog_event(trap/1, introduced, 80329, 1628679308, "9070011c8988fc5f811bc7d28abeaeecf38226d1", "ADDED: trap/1, notrap/1 as commandline utilities to trap exceptions.", 'SWI-Prolog/swipl-devel').
 1699changelog_event(trie_gen/2, enhanced, 80115, 1569578989, "5524410e373d824b73185322eedcd55c8c88b907", "ENHANCED: trie_gen/2,3 for when matching an instantiated value against a trie choice node that contains variables.  Test by Edward Schwartz.", 'SWI-Prolog/swipl-devel').
 1700changelog_event(trie_gen/2, fixed, 80108, 1559651904, "f0167a88e64bd237b0f248e5870aad2110cc06ce", "FIXED: trie_gen/2,3: instantiated indirect (float,string) that match still caused failure.", 'SWI-Prolog/swipl-devel').
 1701changelog_event(trie_gen/2, fixed, 80113, 1566387314, "0b4cead319a0b545f1db8b8d854ec08a6933058f", "FIXED: trie_gen/2,3 if a variable in the trie is matched against a compound term may miss answers.", 'SWI-Prolog/swipl-devel').
 1702changelog_event(trie_gen/2, fixed, 80114, 1567765567, "511594ae56c7ef35de1263f698ea4b73a6419f73", "FIXED: trie_gen/2,3: deal with last-argument optimization.  Reported by Hakan Kjellerstrand, also issue#490.", 'SWI-Prolog/swipl-devel').
 1703changelog_event(trie_gen/2, fixed, 80117, 1575026043, "c043c48c930af7fbe440b672a668d5ff5dbfb275", "FIXED: Issue#526: possible crash in trie_gen/2,3.  Farbrizio Riguzzi.", 'SWI-Prolog/swipl-devel').
 1704changelog_event(trie_gen/2, introduced, 80106, 1557916658, "bb0d1bdee550e96741466a7052a2fb1ec96c33be", "ADDED: Tabling to support Well Founded Semantics.  Work suppored by Kyndi, with lots of help from Theresa Swift and David S Warren.", 'SWI-Prolog/swipl-devel').
 1705changelog_event(trie_gen/3, enhanced, 80108, 1560346042, "bfc66a1343dabcbae35d91936faec652516bfa06", "ENHANCED: limit search for trie_gen/3.  Starts creating choice points from the first <var> in the trie or target term.", 'SWI-Prolog/swipl-devel').
 1706changelog_event(trie_gen/3, fixed, 80102, 1551604656, "caf3c52690792aa173b1bdad99134c05fb200ed8", "FIXED: trie_gen/3: memory leak", 'SWI-Prolog/swipl-devel').
 1707changelog_event(trie_gen/3, fixed, 80103, 1552038299, "9f8df843ec9598e28f102809c6cfb97e7087b10b", "FIXED: tries for complex nested terms.  Bug introduced with new trie_gen/3 implementation.", 'SWI-Prolog/swipl-devel').
 1708changelog_event(trie_gen/3, fixed, 80103, 1552047588, "60488f78f9dc5890afec1eb89b9cfa95251eb0d1", "FIXED: trie_gen/3: Variable database resizing.", 'SWI-Prolog/swipl-devel').
 1709changelog_event(trie_gen/3, fixed, 80103, 1552153191, "ed1469c349d7517d29cfa2dbb2d0a5d09ba36a6c", "FIXED: trie_gen/3: memory leaks", 'SWI-Prolog/swipl-devel').
 1710changelog_event(trie_gen_compiled/2, added, 80110, 1563367596, "24ca8d49422b44ef4587c48e5373457ea5d75a13", "ADDED: trie_gen_compiled/2, dealing with tries that only represent a set.", 'SWI-Prolog/swipl-devel').
 1711changelog_event(trie_gen_compiled/2, added, 90323, 1744918426, "45b1a7e7bb42787b7196f344244271f943bcffef", "ADDED: Support attvars in trie_gen_compiled/2,3", 'SWI-Prolog/swipl-devel').
 1712changelog_event(trie_gen_compiled/2, fixed, 80129, 1586849901, "6b75d7eee18b9fc1b9faf7d8613914e76b2024c0", "FIXED: trie_gen_compiled/2,3 to fail on clause/2,3 and retract/1, claiming to have no clauses.  Fixes a crash when trying to index the clauses.  These are two rather weird predicates ...", 'SWI-Prolog/swipl-devel').
 1713changelog_event(trie_gen_compiled/2, fixed, 90306, 1715674073, "5345c4d2b681cc2e0db2f361b2b9f1f5b4d2403d", "FIXED: trie_gen_compiled/2,3: add indirect data (big integers, strings, rational)", 'SWI-Prolog/swipl-devel').
 1714changelog_event(trie_gen_compiled/3, fixed, 90306, 1715516919, "3a43aef4b463aaa50011d7e9e582d456c54d55d4", "FIXED: #1277 crash in trie_gen_compiled/3.", 'SWI-Prolog/swipl-devel').
 1715changelog_event(trie_gen_compiled/3, fixed, 90306, 1715674073, "c197aebc197887279ff8bbe89f4bfbdc0630fff8", "FIXED: trie_gen_compiled/3: deal with small integer value", 'SWI-Prolog/swipl-devel').
 1716changelog_event(trie_gen_compiled/3, fixed, 90323, 1744631805, "33aff0039ad8ce64883bab7aa661bf67d9d19dd6", "FIXED: trie_gen_compiled/3: crash if value is cyclic or contains attributes.", 'SWI-Prolog/swipl-devel').
 1717changelog_event(trie_gen_compiles/2, fixed, 90306, 1715674073, "a7517561d9477a793a21b8f250f469a7ea4243fb", "FIXED: trie_gen_compiles/2,3: possible stack corruption", 'SWI-Prolog/swipl-devel').
 1718changelog_event(trie_insert_abstract/3, added, 80129, 1587477045, "02a04ea646f9bba928ca7c6e7339ea7c52f0ada6", "ADDED: $trie_insert_abstract/3.  Intended to debug size abstraction.", 'SWI-Prolog/swipl-devel').
 1719changelog_event(trie_property/2, added, 80113, 1566660751, "0d3175d6d4792ad26010e7b0e003235b9a927376", "ADDED: trie_property/2, `compiled_size(Bytes)`.", 'SWI-Prolog/swipl-devel').
 1720changelog_event(trie_property/2, added, 80127, 1585229525, "3b038c71d988825350fb976b566ce5b07fac39a3", "ADDED: trie_property/2, statistics properties to access the IDG size.", 'SWI-Prolog/swipl-devel').
 1721changelog_event(trie_property/2, fixed, 80314, 1606494753, "916ba6c11e6ae2775fcba4d18e54a42ffce99484", "FIXED: Consistent answer count admin for answer subsumptive tabling. Resulted in \"OOPS: trie_property/2: counted %zd values, admin says %zd\\n\" messages.", 'SWI-Prolog/swipl-devel').
 1722changelog_event(trim_heap/0, introduced, 80327, 1625575278, "583ccb42297bcd0cd49cf10b4e090bab3468e2e1", "ADDED: trim_heap/0 and a Prolog flag `malloc` to identify the malloc implementation and provide additional features when detected.", 'SWI-Prolog/swipl-devel').
 1723changelog_event(true/0, enhanced, 80321, 1615886282, "d4e532366e5933731bed8c3b6a0fc71459f59635", "ENHANCED: Compilation of `head => true` to avoid calling true/0.", 'SWI-Prolog/swipl-devel').
 1724changelog_event(truncate/1, fixed, 80123, 1582394817, "c1b972a9b38151f2a36abe6b9d436e07d7b1bd4e", "FIXED: round/1, ceil/1, floor/1, truncate/1 functions on special floats. Some of these could crash (SIGFPE).", 'SWI-Prolog/swipl-devel').
 1725changelog_event(tstat/2, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1726changelog_event(tstat/3, introduced, 100105, 1773232408, "24827c53846bd6a7476d99c7e3ac2f42c6cc84a2", "ADDED: `library(tableutil)`: toplevel utilities", 'SWI-Prolog/swipl-devel').
 1727changelog_event(tty_get_capability/3, fixed, 90107, 1677431315, "32b96b36d3e84d9bc7cc420b70acec63ea7b48ce", "FIXED: tty_get_capability/3: memory leak.", 'SWI-Prolog/swipl-devel').
 1728changelog_event(tty_get_capability/3, fixed, 90121, 1702548630, "a37aab259ef3361efd9b48a098da43cb91913bf0", "FIXED: Avoid tty_get_capability/3 exception", 'SWI-Prolog/packages-plunit').
 1729changelog_event(tty_size/2, added, 90325, 1750853001, "9aca937e72c59937d2ec96f07ac92d30121ebef7", "ADDED: Windows: tty_size/2 to also work on Windows consoles.", 'SWI-Prolog/swipl-devel').
 1730changelog_event(tuples_in/2, fixed, 90109, 1681326066, "2e8276673dcedb11f2d888e45634152111211c9d", "FIXED: Addresses #1160, residual constraints in tuples_in/2 from clp(fd).", 'SWI-Prolog/swipl-devel').
 1731changelog_event(udb_send/4, added, 80509, 1646925322, "c72fad0d8a549e7e73e1de96183d69bd2dc2f67d", "ADDED: udp_receive/4 and udb_send/4: encoding(Enc) option to affect the encoding.", 'SWI-Prolog/packages-clib').
 1732changelog_event(udp_receive/4, added, 80509, 1646925322, "c72fad0d8a549e7e73e1de96183d69bd2dc2f67d", "ADDED: udp_receive/4 and udb_send/4: encoding(Enc) option to affect the encoding.", 'SWI-Prolog/packages-clib').
 1733changelog_event(udp_receive/4, added, 80509, 1646925886, "cb5cbc4ac36237d0554b544e650b052c1aaf5152", "ADDED: udp_receive/4 `as(term)` to parse the message into a Prolog term.", 'SWI-Prolog/packages-clib').
 1734changelog_event(udp_receive/4, fixed, 90115, 1693388215, "413f67bb40c868d827935ca8c1928cac233fb884", "FIXED: udp_receive/4: did not pass address parameters correctly.", 'SWI-Prolog/packages-clib').
 1735changelog_event(udp_send/4, added, 80509, 1646987034, "38327c328565dcfcfb8576b3ebc9c432e58b240e", "ADDED: udp_send/4: as(Type) option.", 'SWI-Prolog/packages-clib').
 1736changelog_event(udp_term_string_hook/3, added, 80104, 1553181723, "f7aea75b3e28e969b36206b78eca5c6236aa701c", "ADDED: udp_term_string_hook/3 may throw udp(invalid_message) to make the UDP library ignore some message.   This can be used together with encryption to create a safe UDP cluster.", 'SWI-Prolog/packages-clib').
 1737changelog_event(uint32_codes/2, fixed, 80501, 1635191005, "8e781518688d94e786c8967640c820641ff70965", "FIXED: uint32_codes/2 in mode (-,+) on may return a negative value on 32-bit systems.", 'SWI-Prolog/contrib-protobufs').
 1738changelog_event(uint32_codes/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
 1739changelog_event(uint32_int32/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
 1740changelog_event(uint64_codes/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
 1741changelog_event(uint64_int64/2, introduced, 80327, 1625875362, "b78aa40308440cf1129d517c8431eb88d7f3b4ef", "ADDED: protobuf_serialize_to_codes/3 fixed: uint64_codes et al handling of signed/unsigned improved: error handling for uint64_codes et al renamed integer_zigzag to int64_zigzag, int32_codes => uint32_codes, etc. moved some code into protobufs.c (uint64_int32, etc.) simplified code by using freeze/2 and when/2 instead of nonvar/1", 'SWI-Prolog/contrib-protobufs').
 1742changelog_event(undefined/0, enhanced, 80130, 1587557547, "a44c1c77c1231d8de57e0260d1b3d11a15b5a555", "ENHANCED: When printing the WFS residual program leave out undefined/0 and friends.", 'SWI-Prolog/packages-pengines').
 1743changelog_event(undo/1, added, 80324, 1620403629, "2c2acdd29dff4b858317a806452b30f06bd2a97c", "ADDED: undo/1 to schedule goals to be called on backtracking.", 'SWI-Prolog/swipl-devel').
 1744changelog_event(undo/1, added, 80325, 1620631596, "05a316a92484db2e23779ae658cdab8678527826", "ADDED: Define undo/1 as sandbox-safe", 'SWI-Prolog/swipl-devel').
 1745changelog_event(undo/1, fixed, 80517, 1663415843, "763530fac7389e836d11f9fad91f59380487210b", "FIXED: Exception preservation in undo/1", 'SWI-Prolog/swipl-devel').
 1746changelog_event(undo/1, fixed, 90118, 1698054920, "7f0b8ab074869747699d19fb092bb66e07967b11", "FIXED: undo/1: calling hooks while backtracking could corrupt choicepoint.", 'SWI-Prolog/swipl-devel').
 1747changelog_event(undo/1, fixed, 90119, 1699952108, "986b458b44dd81193b60819a944402110b20dc65", "FIXED: #1204: undo/1: crash if a single undo is scheduled that fails.", 'SWI-Prolog/swipl-devel').
 1748changelog_event(undo/1, fixed, 90336, 1764493059, "3654688c0bc9992d0df5f5c36a18af84b6eba1da", "FIXED: #1414 crash in C_CUT due to reset clause pointer from undo/1.", 'SWI-Prolog/swipl-devel').
 1749changelog_event(unicode_name/2, introduced, 100108, 1779013965, "1afc403c6958e15be812b8793f57f0268010e559", "ADDED: library(uniname) exporting unicode_name/2", 'SWI-Prolog/packages-utf8proc').
 1750changelog_event(unicode_property/2, enhanced, 100106, 1776843911, "398bad4ddea3602ecae69b69b654a57f2886f7d6", "ENHANCED: Review unicode_property/2, add grapheme and casefold APIs", 'SWI-Prolog/packages-utf8proc').
 1751changelog_event(unifiable/3, fixed, 90304, 1711558182, "d24690fd5739ecd01a3518ec9b5ed8f4a5e88ff2", "FIXED: unifiable/3 internal consistency", 'SWI-Prolog/swipl-devel').
 1752changelog_event(unify_with_occurs_check/2, fixed, 80317, 1609590465, "391652e65fab696df9ef3a6d0f0a7862c857c683", "FIXED: Issue#758: unify_with_occurs_check/2: possible false success when attributed variables are involved.   Possibly may also involve cases where no attributed variables are involved.   Reported by Jan Burse.", 'SWI-Prolog/swipl-devel').
 1753changelog_event(unix_domain_socket/1, introduced, 80128, 1586514584, "3c88579267fbdd62777ebb1e602411478dd529e7", "ADDED: unix_domain_socket/1, providing access to AF_UNIX sockets.", 'SWI-Prolog/packages-clib').
 1754changelog_event(unknown/0, introduced, 80106, 1557916658, "bb0d1bdee550e96741466a7052a2fb1ec96c33be", "ADDED: Tabling to support Well Founded Semantics.  Work suppored by Kyndi, with lots of help from Theresa Swift and David S Warren.", 'SWI-Prolog/swipl-devel').
 1755changelog_event(unknown/0, modified, 80107, 1559591845, "6d9a480afd2f5a02079edf2aeae0b2d6ccced472", "MODIFIED: Tabling unknown/0 has been renamed to undefined/0 after discussion with Terri Swift and David Warren.", 'SWI-Prolog/swipl-devel').
 1756changelog_event(unload_file/1, fixed, 100107, 1777814674, "0019a55776b3754e9f0805b5363829ea91f6a0a3", "FIXED: unload_file/1: clear isfile so use_module/1 reloads", 'SWI-Prolog/swipl-devel').
 1757changelog_event(untable/1, fixed, 80315, 1607527386, "9defc51a1e328f095c6e51bb41693d2115ab0cff", "FIXED: untable/1 to remove table attributes such as `incremental`, `monotonic`, etc.", 'SWI-Prolog/swipl-devel').
 1758changelog_event(untable/1, introduced, 80108, 1559646939, "1708b81b906c7761ddb098d5b6ff9c991e19b213", "ADDED: untable/1", 'SWI-Prolog/swipl-devel').
 1759changelog_event(unwrap_predicate/2, introduced, 80107, 1558336133, "826ec2ca9be06770593224642c268c05201dd626", "ADDED: library(prolog_wrap), providing wrap_predicate/4 and some friends to manage dynamically wrapping and unwrapping Prolog predicates using an arbitrary body term. With input from Paulo Moura, Eric Toucher and Peter Ludemann on the forum.", 'SWI-Prolog/swipl-devel').
 1760changelog_event(upcase_atom/2, fixed, 90118, 1698758222, "090b6216128d7097267790c289ea8c87d23605fd", "FIXED: downcase_atom/2 and upcase_atom/2: error handling.", 'SWI-Prolog/swipl-devel').
 1761changelog_event(upcase_atom/2, fixed, 90304, 1712763705, "2bbe7bdd1dac1912e101099fbb6d2bf84317c1c2", "FIXED: #1262 upcase_atom/2 and friends on ISO -> wide", 'SWI-Prolog/swipl-devel').
 1762changelog_event(uri_authority_components/3, modified, 90105, 1675779135, "5fb9194758849d22886b6223df11794c7d682e0d", "MODIFIED: uri_authority_components/3: deal with IPv6 addresses embraced using `[]`.", 'SWI-Prolog/packages-clib').
 1763changelog_event(uri_edit/3, fixed, 90121, 1702222716, "ad4953070b0c33d55cfa4ae94249860346c3764e", "FIXED: uri_edit/3 to consider the initial path ``''`` to be the same as ``/``.", 'SWI-Prolog/packages-clib').
 1764changelog_event(uri_edit/3, introduced, 90107, 1677582447, "abd9b8c4bed56e8780676b49573b1bc7fbe45547", "ADDED: uri_edit/3 to build or modify a URI from components.", 'SWI-Prolog/packages-clib').
 1765changelog_event(uri_file_name/2, enhanced, 90325, 1748016155, "99c04a581c5fa9feec9f3214f80269a9316e43fd", "ENHANCED: uri_file_name/2, mode (+,-): Allow for file://host/...", 'SWI-Prolog/packages-clib').
 1766changelog_event(uri_iri/2, fixed, 90104, 1674753169, "3efa639ea10d5f2776fa53c947882592d120614f", "FIXED: uri_iri/2 to not decode encoding ``&=;`` in the query string.", 'SWI-Prolog/packages-clib').
 1767changelog_event(uri_query_components/2, fixed, 80130, 1587633510, "3a55d3579e1eb58a84ec06eb762bcfa493fa9c8d", "FIXED: Possible crash in uri_query_components/2 due to text ring buffer overflow.  Jacco van Ossenbruggen.", 'SWI-Prolog/packages-clib').
 1768changelog_event(uri_resolve/3, added, 80312, 1605270844, "547b047c8c3698b1f0868a105f7d204b325fe61e", "ADDED: uri_resolve/3 and related predicates that take a _base URI_ to accept a string in addition to an atom for the base URI.", 'SWI-Prolog/packages-clib').
 1769changelog_event(url/1, fixed, 80511, 1649577759, "76fbfb329304bc9a8196999008dea0f02489ac30", "FIXED: PceEmasc __Consult selection__ command resulted in an error message wrt. format/3 and url/1 terms.", 'SWI-Prolog/packages-xpce').
 1770changelog_event(use_foreign_library/1, modified, 80122, 1581507351, "d819c8efe29199b2e1b774fc7afe40743642bd56", "MODIFIED: Make use_foreign_library/1,2 available as built-in directives.", 'SWI-Prolog/swipl-devel').
 1771changelog_event(use_foreign_library/2, enhanced, 90112, 1690533939, "e383740fbb8821ac5482b97b0d4f092c4c6c2734", "ENHANCED: use_foreign_library/2 to support options", 'SWI-Prolog/swipl-devel').
 1772changelog_event(use_module/1, modified, 80312, 1605085300, "dc363f7327746800c6a34fb0a9c6228f588e1a4e", "MODIFIED: When using use_module/1,2 and friends on a non-module file the error has changed from `domain_error(module_file, File)` to `domain_error(module_header, FirstTerm)` to simplify debugging.   Notably this error can be the result of term_expansion/2 that rewrites `begin_of_file` or the module header to something that is not a module header.", 'SWI-Prolog/swipl-devel').
 1773changelog_event(use_module/2, fixed, 90304, 1711361642, "dd429fe35ee447c64b8fe5b84d1ad5bf19be1b36", "FIXED: use_module/2 with except and reexport/2 with except to print warning", 'SWI-Prolog/swipl-devel').
 1774changelog_event(uuid/1, fixed, 90111, 1684841167, "88662e79311044cf1463f210a1e296df7b6e98fa", "FIXED: uuid/1,2: Prolog implementation for random UUID", 'SWI-Prolog/packages-clib').
 1775changelog_event(uuid/2, added, 80400, 1630608333, "af6f0f7f5134ad09efd91b41fe47bf01b1f55097", "ADDED: uuid/2 emulation to allow for `format(integer)`.", 'SWI-Prolog/packages-clib').
 1776changelog_event(uuid_property/2, introduced, 80329, 1628241798, "731afc4c590ddc73d625e48c4d6d992fa7d1319a", "ADDED: uuid_property/2 to get the version and (for 1 and 2) time stamp of the UUID.", 'SWI-Prolog/packages-clib').
 1777changelog_event(valid_term_position/2, introduced, 80506, 1642585480, "f716e17490ce6e6af11849e0be2685284517bded", "ADDED: valid_term_position/2 to help debug term_expansion/4", 'SWI-Prolog/swipl-devel').
 1778changelog_event(values/3, introduced, 90113, 1691078131, "3496da80d55a93fb7fd05811988b17de6767acd6", "ADDED: ``setup.py``, turning the repo into an installable Python package", 'SWI-Prolog/packages-swipy').
 1779changelog_event(var_property/2, added, 80132, 1589374967, "0a80d8e5ef1db9945e7313ee8175f73a5f28d2f6", "ADDED: var_property/2: `singleton` property", 'SWI-Prolog/swipl-devel').
 1780changelog_event(verify_certificate_issuer/2, fixed, 80118, 1575984006, "683a2c026adab7faeb62bad60e52d799aa7a3e55", "FIXED: verify_certificate_issuer/2. When x509_check_issued succeeds, it returns 0", 'SWI-Prolog/packages-ssl').
 1781changelog_event(verify_safe_declaration/1, fixed, 80105, 1554039255, "830a1481e80a19c39ce63698c0fbaaaa64e96265", "FIXED: verify_safe_declaration/1 leaves a choicepoint", 'SWI-Prolog/swipl-devel').
 1782changelog_event(version/1, fixed, 90325, 1745939183, "e54ba8bbf28c6c76f2628584290588fdda53b83f", "FIXED: version/1: avoid redefined warning.", 'SWI-Prolog/swipl-devel').
 1783changelog_event(visible/1, modified, 100105, 1772966185, "32aa12bfe88395e34cd9c3d6b5ef27997de670d5", "MODIFIED: visible/1: default to include `cut_call`", 'SWI-Prolog/swipl-devel').
 1784changelog_event(vm_list/1, fixed, 80323, 1618821475, "0459d13ed43d2cfa828b4c35c3e494d0f99d0a01", "FIXED: vm_list/1 to handle clauses with breakpoints and list these.", 'SWI-Prolog/swipl-devel').
 1785changelog_event(vm_list/1, fixed, 80324, 1620292324, "2f4e46684e8a53e1722ce0d9cd665968e8131bc9", "FIXED: vm_list/1 for compiled tries.", 'SWI-Prolog/swipl-devel').
 1786changelog_event(wait_for_input/3, fixed, 90325, 1750330516, "02d19fe8f2b657c7a50b406e234631ea330d3429", "FIXED: wait_for_input/3: use Swinsock() from pl-stream.c rather than a local macro", 'SWI-Prolog/swipl-devel').
 1787changelog_event(wasm_query/1, added, 90321, 1741275262, "23cd6cb1c435be6688fd53617d63d958b4152308", "ADDED: wasm_query/1, support running a single query interactively.", 'SWI-Prolog/swipl-devel').
 1788changelog_event(when/2, fixed, 80325, 1620919710, "a11f7692d26711ac411abdf07066b07ece1976d0", "FIXED: Issue#818: when/2 conditions with nested disjunctions not being displayed properly by toplevel and copy_term/3.", 'SWI-Prolog/swipl-devel').
 1789changelog_event(wildcard_match/2, fixed, 80302, 1591796288, "a8124ab69b00bbb5418f0f86cec2f1e99b56be66", "FIXED: expand_file_name/2 and wildcard_match/2", 'SWI-Prolog/swipl-devel').
 1790changelog_event(wildcard_match/2, fixed, 80302, 1591798497, "fe9cdf4dad31b78654d93219c222887b53b98b97", "FIXED: wildcard_match/2 and expand_file_name/2 used to print a warning and throw a domain_error on an illegal pattern.  It now throws a syntax_error exception.", 'SWI-Prolog/swipl-devel').
 1791changelog_event(wildcard_match/2, fixed, 80302, 1591799000, "c15e3370db2f5737af377878eedf85b2761fcba2", "FIXED: wildcard_match/2: peek after string on unmatched \"{\"", 'SWI-Prolog/swipl-devel').
 1792changelog_event(wildcard_match/3, introduced, 80302, 1591815147, "6427c0d1221cc5e2d59ae30a624573c096b56960", "ADDED: wildcard_match/3.  Required because wildcard_match/2 no longer listens to case sensitivity of the file system.  Suggested by Keri Harris.", 'SWI-Prolog/swipl-devel').
 1793changelog_event(win_add_dll_directory/1, modified, 80513, 1655716572, "6c893029aa556f6b761d8b9136df85df3c7a3e72", "MODIFIED: win_add_dll_directory/1: throw exceptions on failure rather than assuming failure of `AddDllDirectory()` indicates we need to extend ``%PATH%%`.", 'SWI-Prolog/swipl-devel').
 1794changelog_event(win_add_dll_directory/2, enhanced, 80513, 1655716457, "bda6debee9bfd67ea0f39da13ac11d7fcf828f7a", "ENHANCED: win_add_dll_directory/2: throw normal Prolog exceptions for the two common reasons for this predicate to fail: non-existence of the target or the target not being absolute.", 'SWI-Prolog/swipl-devel').
 1795changelog_event(win_console_close/0, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1796changelog_event(win_console_cursor/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1797changelog_event(win_console_key/1, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1798changelog_event(win_console_kill/0, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1799changelog_event(win_console_mode/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1800changelog_event(win_console_open/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1801changelog_event(win_console_resize/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1802changelog_event(win_console_row/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1803changelog_event(win_console_send/1, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1804changelog_event(win_console_size/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1805changelog_event(win_console_spawn/1, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1806changelog_event(win_console_wait/2, introduced, 100113, 1785767623, "fe7999ab00f51c8606a05e1a997c9ac6b45e15f4", "ADDED: library(win_console): drive a Windows console and read it back", 'SWI-Prolog/packages-libedit').
 1807changelog_event(win_folder/2, added, 80115, 1570442104, "52460fdd1d1a3ad9e9299be1ae55fa7f889d73bb", "ADDED: win_folder/2: keys `common_appdata` and `local_appdata`.", 'SWI-Prolog/swipl-devel').
 1808changelog_event(win_folder/2, fixed, 80111, 1563625570, "7432fde85d4cc6be72900f5479c1d76c3645d811", "FIXED: win_folder/2: avoid messages _did not clear exception_.", 'SWI-Prolog/swipl-devel').
 1809changelog_event(win_get_user_preferred_ui_languages/2, introduced, 80501, 1635067731, "65da1f19e49101cf4a1f8dad6a9129ef0921aa90", "ADDED: win_get_user_preferred_ui_languages/2 to get access to the user's preferred UI languages on Windows.", 'SWI-Prolog/swipl-devel').
 1810changelog_event(win_module_file_names/1, added, 80319, 1611679216, "ae7837144d310da7f8f7108fb8e6d8ddb0772b25", "ADDED: win_module_file_names/1 to enumerate the Windows DLLs used by the process.", 'SWI-Prolog/swipl-devel').
 1811changelog_event(win_process_modules/1, enhanced, 100112, 1784447511, "ff3a9200fdd38fdb6f0738a88eed11cbff0e5a33", "ENHANCED: win_process_modules/1: use disk case", 'SWI-Prolog/swipl-devel').
 1812changelog_event(win_process_modules/1, introduced, 80319, 1611679216, "ae7837144d310da7f8f7108fb8e6d8ddb0772b25", "ADDED: win_module_file_names/1 to enumerate the Windows DLLs used by the process.", 'SWI-Prolog/swipl-devel').
 1813changelog_event(win_window_color/2, added, 80111, 1563629646, "93fa724ebbeaa46fcea5bfb6ff39161629be95f8", "ADDED: Windows (swipl-win.exe) win_window_color/2 to change the colors of the console window.", 'SWI-Prolog/swipl-devel').
 1814changelog_event(win_window_color/2, fixed, 80111, 1563781083, "acb5e7aea339a0c32e70ce7ac28e5881592d45cc", "FIXED: win_window_color/2: set selection colors.", 'SWI-Prolog/swipl-devel').
 1815changelog_event(with_output_to/3, fixed, 90104, 1674208502, "38fb9b6d87494bb6cf010abb3e55927e8f29b5d0", "FIXED: with_output_to/3 to flush the streams before finishing the capture.", 'SWI-Prolog/swipl-devel').
 1816changelog_event(with_output_to/3, fixed, 90107, 1677431315, "d77a9e1c4275c9b10be8e7efdf4d6f4999e0ca63", "FIXED: with_output_to/3: need to restore the streams while redirected to avoid leaking the stream handle because it remains referenced.", 'SWI-Prolog/swipl-devel').
 1817changelog_event(with_output_to/3, introduced, 90001, 1669976258, "5ffbab07c0b26e6c05ed4757a8b5f57fc0a00576", "ADDED: library(streams).   Intended for various tricks in capturing and redirecting streams.   Currently only provides with_output_to/3 that extends with_output_to/2 to allow capturing `user_output` and `user_error`.", 'SWI-Prolog/swipl-devel').
 1818changelog_event(with_rwlock/3, introduced, 90111, 1685533629, "5400364a4219d7283becc75f9cb931b73a847cd8", "ADDED: library(rwlocks), implementing read/write locks.", 'SWI-Prolog/swipl-devel').
 1819changelog_event(with_rwlock/4, introduced, 90111, 1685533629, "5400364a4219d7283becc75f9cb931b73a847cd8", "ADDED: library(rwlocks), implementing read/write locks.", 'SWI-Prolog/swipl-devel').
 1820changelog_event(with_stopped_threads/2, introduced, 90312, 1727335823, "0bde134f4ad0e7f2eaf23605657c381a1846d614", "ADDED: with_stopped_threads/2 to run a goal while other threads are stopped.", 'SWI-Prolog/swipl-devel').
 1821changelog_event(with_tty_raw/1, fixed, 90336, 1763670446, "4362a2bfb0d60c49d1b595cd3e3bffebeee085e5", "FIXED: with_tty_raw/1: kept lock on stream.", 'SWI-Prolog/swipl-devel').
 1822changelog_event(with_tty_raw/1, introduced, 80111, 1563808498, "1f5aea39e48122779d61bb1509b53532a3b21c0a", "ADDED: with_tty_raw/1: run code with terminal in raw mode (if possible).", 'SWI-Prolog/swipl-devel').
 1823changelog_event(wrap_predicate/4, enhanced, 90122, 1703065712, "f09954f1d7c3d22c4df52afd3982476e45e91811", "ENHANCED: Declare wrap_predicate/4 body argument as meta-argument.", 'SWI-Prolog/swipl-devel').
 1824changelog_event(wrap_predicate/4, fixed, 80113, 1566657106, "f14897219b8891ce00d52999592fc0406eddca0d", "FIXED: wrap_predicate/4 for foreign predicate could cause data corruption if GC is triggered while executing the wrapper clause.  This prevented table/1 for foreign predicates.", 'SWI-Prolog/swipl-devel').
 1825changelog_event(wrap_predicate/4, fixed, 80306, 1598294956, "0a0d9800134b361eb2344f29cece8b0a4b571666", "FIXED: Possibly crash in wrap_predicate/4.  With help from Peter Ludemann.", 'SWI-Prolog/swipl-devel').
 1826changelog_event(wrap_predicate/4, fixed, 90321, 1740054057, "fdfb4f233a60285d47679e91708a42f3f7b7c452", "FIXED: wrap_predicate/4: possible double free after unwrapping", 'SWI-Prolog/swipl-devel').
 1827changelog_event(wrap_predicate/4, fixed, 100111, 1783073056, "2d6775beff536ef07aa2151deb672460b4752d50", "FIXED: #1245 wrap_predicate/4 supervisor to carry meta/det qualification prefix.", 'SWI-Prolog/swipl-devel').
 1828changelog_event(wrap_predicate/4, introduced, 80107, 1558336133, "826ec2ca9be06770593224642c268c05201dd626", "ADDED: library(prolog_wrap), providing wrap_predicate/4 and some friends to manage dynamically wrapping and unwrapping Prolog predicates using an arbitrary body term. With input from Paulo Moura, Eric Toucher and Peter Ludemann on the forum.", 'SWI-Prolog/swipl-devel').
 1829changelog_event(wrapped_predicate/2, introduced, 80107, 1558336133, "826ec2ca9be06770593224642c268c05201dd626", "ADDED: library(prolog_wrap), providing wrap_predicate/4 and some friends to manage dynamically wrapping and unwrapping Prolog predicates using an arbitrary body term. With input from Paulo Moura, Eric Toucher and Peter Ludemann on the forum.", 'SWI-Prolog/swipl-devel').
 1830changelog_event(write/1, fixed, 80309, 1601362228, "7a91a24ede366b452fd027b4ce798c8445a85968", "FIXED: write/1 portraying attributes for freeze/2 .  Rick Workman.", 'SWI-Prolog/swipl-devel').
 1831changelog_event(write/1, fixed, 80504, 1638552100, "177ebe8b1647f9f7b64ff2b07eee58e91b5faa3a", "FIXED: write/1 and friends: we must check that the first character can be represented by the stream.", 'SWI-Prolog/swipl-devel').
 1832changelog_event(write/1, fixed, 80504, 1638615224, "9c4583b0be6eacbb4e3aaefa4137181ff96dc7cf", "FIXED: Make write/1 and friends escape characters that the stream cannot represent.", 'SWI-Prolog/swipl-devel').
 1833changelog_event(write/1, fixed, 80515, 1657373339, "183b001ed24e1b8a792e2f841cfc06779508660a", "FIXED: write/1 for strings using UTF-16 encoding (Windows).", 'SWI-Prolog/swipl-devel').
 1834changelog_event(write/1, fixed, 90325, 1747473136, "457b6270d94c662b9af3d57b7537e7576b060ddf", "FIXED: write/1,2 to take rational number syntax from module `user`.", 'SWI-Prolog/swipl-devel').
 1835changelog_event(write_canonical/1, fixed, 80504, 1638615717, "c7acfb381f07a1ab9bf0151cfc20ee1aefcf23c1", "FIXED: write_canonical/1 to use the `brace_terms` option as `false`.", 'SWI-Prolog/swipl-devel').
 1836changelog_event(write_html/2, fixed, 90107, 1677348771, "e62c9a0245f70ea615b6074176758647494b757d", "FIXED: Possible non-determinism in write_html/2 on a mailbox that has not been posted to.", 'SWI-Prolog/packages-http').
 1837changelog_event(write_length/3, fixed, 80506, 1641917148, "2664051fe319d821370597c49fc526ae8934057f", "FIXED: Avoid warnings about uncaught exceptions from write_length/3 in print_term/2.", 'SWI-Prolog/swipl-devel').
 1838changelog_event(write_length/3, introduced, 100106, 1776786992, "5340318bf9486e4676fd1a949697b04a210736d4", "ADDED: write_size(+Term, -Width, -Height, +Options)", 'SWI-Prolog/swipl-devel').
 1839changelog_event(write_size/4, introduced, 100106, 1776786992, "5340318bf9486e4676fd1a949697b04a210736d4", "ADDED: write_size(+Term, -Width, -Height, +Options)", 'SWI-Prolog/swipl-devel').
 1840changelog_event(write_sweep_module_location/0, fixed, 100114, 1667503723, "4d4bdc86004b76413074e915d92380891a6e2587", "FIXED: write_sweep_module_location/0 for Windows.", 'SWI-Prolog/packages-sweep').
 1841changelog_event(write_term/2, added, 80504, 1638629286, "b6abf3aa0e011205520e1fadc2747a3c4d113d9c", "ADDED: write_term/2: option `quote_non_ascii`.  This option is enabled by default for write_canonical/1.", 'SWI-Prolog/swipl-devel').
 1842changelog_event(write_term/2, added, 90315, 1731665844, "841a487a6e1d215c67df5d3dd26a3039ad6aa9e9", "ADDED: write_term/2: option radix(Radix).", 'SWI-Prolog/swipl-devel').
 1843changelog_event(write_term/2, added, 90315, 1731685196, "a49fe8cb40fc15b7325a4e4836304cbe6d9ccef0", "ADDED: write_term/2 options format_float(+Format) and format_integer(+Format)", 'SWI-Prolog/swipl-devel').
 1844changelog_event(write_term/2, added, 90336, 1763670446, "3f2f9867469801701975056d8af27ef2547a7eb7", "ADDED: PIP-0105: write_term/2 support for `max_text(+Length)`", 'SWI-Prolog/swipl-devel').
 1845changelog_event(write_term/2, added, 90336, 1763724727, "48ceb3055aed34818d840572d950bef2ac74d2b6", "ADDED: write_term/2: support max_text(+Length) for quoted output.", 'SWI-Prolog/swipl-devel').
 1846changelog_event(write_term/2, added, 100108, 1778683255, "c5ab0bc886b949cf88e61c7cdc0946f046e9f08e", "ADDED: write_term/2 option pattern_syntax_solo, used by write_canonical/1", 'SWI-Prolog/swipl-devel').
 1847changelog_event(write_term/2, fixed, 80329, 1628149903, "6cfcc7282307748d771ab0d68938d3e4ddad5af3", "FIXED: write_term/2,3 numbervars for '$VAR'(N) terms where N is a GMP integer.", 'SWI-Prolog/swipl-devel').
 1848changelog_event(write_term/2, fixed, 80513, 1654161713, "5e90769d0cdbcf3d3d1da9f3ab1814ddf0c53dd9", "FIXED: write_term/2 with numbervars and variable_names (#866)", 'SWI-Prolog/swipl-devel').
 1849changelog_event(write_term/2, fixed, 80513, 1654963872, "002e0144b19cb2e2f738dee958b69b8570bea27a", "FIXED: write_term/2 and friends: do not embrace writing a single atom if this is an operator and the priority(Priority) option is given.", 'SWI-Prolog/swipl-devel').
 1850changelog_event(write_term/2, fixed, 80513, 1655022294, "7d1908199a73d6ff2d27358559892330ce14b3bd", "FIXED: write_term/2 and friends handling of embrace of operants that are operators for partial writes.", 'SWI-Prolog/swipl-devel').
 1851changelog_event(write_term/2, fixed, 100102, 1769274364, "4ece9020f72362db2313056e80ec069c534ef19b", "FIXED: write_term/2 using option partial(true) to separate quoted objects.", 'SWI-Prolog/swipl-devel').
 1852changelog_event(write_term/2, fixed, 100102, 1769275894, "dff3a6058a2d4c89f519e0cc446f6f790ed20a32", "FIXED: write_term/2: handle partial(true) for backquoted text.", 'SWI-Prolog/swipl-devel').
 1853changelog_event(write_term/2, modified, 90332, 1759937497, "b50bfd51565dda08ffea09f77ab797310f3e87e2", "MODIFIED: write_term/2 using attributes(write)", 'SWI-Prolog/swipl-devel').
 1854changelog_event(write_term/2, modified, 90336, 1763732567, "cfe667684be128120a46aad1cf662667b70b8444", "MODIFIED: write_term/2: `max_depth(+Depth)` to use Unicode `…`", 'SWI-Prolog/swipl-devel').
 1855changelog_event(write_term/2, modified, 90336, 1763989693, "4e3544ff1533aa092ed0c7c2637083cc2204b4f7", "MODIFIED: PIP-0105: write_term/2 option `max_text` to exclude ellipsis.", 'SWI-Prolog/swipl-devel').
 1856changelog_event(write_term/3, fixed, 100102, 1769187801, "0d86651a0d283df7db069ec78e68dcc16a34cd0e", "FIXED: write_term/3 and friends to get default back_quotes from flags.", 'SWI-Prolog/swipl-devel').
 1857changelog_event(write_term/3, modified, 80504, 1638787574, "6de4420d22ae650970bd46d79629342498e00be3", "MODIFIED: write_term/3 option `brace_terms` behavior was the inverse of the documentation.  As the docs describe what one would expect and is consistent with YAP, the implementation is fixed.", 'SWI-Prolog/swipl-devel').
 1858changelog_event(writef/2, fixed, 80125, 1583838001, "c84d82c63ad7b0ba6976c91d8f2ca004a356b156", "FIXED: writef/2 handling of justification using e.g., ``%Nl`` resulted in a format error.", 'SWI-Prolog/swipl-devel').
 1859changelog_event(xadd/4, introduced, 80310, 1602519005, "db51207febd2aa3501395da090d20de12291a25e", "ADDED: library(redis_streams).", 'SWI-Prolog/packages-redis').
 1860changelog_event(xconsumer_stop/1, introduced, 80310, 1602519005, "db51207febd2aa3501395da090d20de12291a25e", "ADDED: library(redis_streams).", 'SWI-Prolog/packages-redis').
 1861changelog_event(xdot_view/1, introduced, 100112, 1783618955, "74b7369e981d7c108f9f65670982aac0d5687767", "ADDED: library(xdot) + demo — graphviz pan/zoom viewer", 'SWI-Prolog/packages-xpce').
 1862changelog_event(xdot_view/2, introduced, 100112, 1783618955, "74b7369e981d7c108f9f65670982aac0d5687767", "ADDED: library(xdot) + demo — graphviz pan/zoom viewer", 'SWI-Prolog/packages-xpce').
 1863changelog_event(xlisten/3, introduced, 80310, 1602519005, "db51207febd2aa3501395da090d20de12291a25e", "ADDED: library(redis_streams).", 'SWI-Prolog/packages-redis').
 1864changelog_event(xlisten_group/5, fixed, 80310, 1602600663, "1fb9d0cfc876ac1a0b2996b34339c459a150546a", "FIXED: xlisten_group/5: listening on multiple streams caused the loop to fail.", 'SWI-Prolog/packages-redis').
 1865changelog_event(xlisten_group/5, introduced, 80310, 1602519005, "db51207febd2aa3501395da090d20de12291a25e", "ADDED: library(redis_streams).", 'SWI-Prolog/packages-redis').
 1866changelog_event(xml_quote_cdata/3, fixed, 80501, 1633634306, "7ca0593589dd5a64324f211ef2ee9f5a92e92f65", "FIXED: xml_quote_cdata/3: possible race condition if two threads use this for the first time.", 'SWI-Prolog/packages-sgml').
 1867changelog_event(xpath/3, added, 80101, 1548940223, "20f1f0fafe6cd3428a1092298b7f120befa8fd4b", "ADDED: xpath/3: text(string) to get the DOM text as a string rather than an atom.", 'SWI-Prolog/packages-sgml').
 1868changelog_event(xpath/3, fixed, 80101, 1548940190, "d223217e019557a0e3995529eb0bf0bd1ae5cda5", "FIXED: xpath/3: make extraction work if the document was parsed using cdata(string).", 'SWI-Prolog/packages-sgml').
 1869changelog_event(xpce_object_label/2, added, 100113, 1786030698, "1c88b105f5d9246486d4d444122459872cef0df3", "ADDED: xpce_object_label/2: xpce arrow notation for a class member", 'SWI-Prolog/packages-pldoc').
 1870changelog_event(xpce_public_list/3, added, 100110, 1781971776, "28c23ac982c9670f153eeabaa39dc895294f7eb1", "ADDED: xpce_public_list/3: accept a stream as input.", 'SWI-Prolog/swipl-devel').
 1871changelog_event(xref_called/5, introduced, 80105, 1553765429, "303f6430de5c9d7e225d8eb6fb8bb8b59e7c5f8f", "ADDED: xref_callers/5 which includes caller's line number", 'SWI-Prolog/swipl-devel').
 1872changelog_event(xref_callers/5, added, 80105, 1553765429, "303f6430de5c9d7e225d8eb6fb8bb8b59e7c5f8f", "ADDED: xref_callers/5 which includes caller's line number", 'SWI-Prolog/swipl-devel').
 1873changelog_event(xref_defined/3, added, 90111, 1685992626, "acd905594d452559cee3297c21e27a11975950f0", "ADDED: indicate DCG rules in xref_defined/3", 'SWI-Prolog/swipl-devel').
 1874changelog_event(xref_public_list/2, added, 90322, 1743008794, "1db0314e24aba459b502cbdbf16bc33f565b4568", "ADDED: xref_public_list/2: get information from library INDEX.pl", 'SWI-Prolog/swipl-devel').
 1875changelog_event(xref_public_list/3, fixed, 90322, 1743435406, "f96377f5559c79e1f508ff05cc412e44f3717773", "FIXED: xref_public_list/3 on absolute .pl file on qlf-only release.", 'SWI-Prolog/swipl-devel').
 1876changelog_event(xref_source/1, fixed, 80518, 1664200550, "3b75b6560595f7f545522bc5e4b2ee19da60a7f1", "FIXED: xref_source/1: avoid lazy definition of predicates in `user` by calling `predicate_property(user:Goal, ...)`.", 'SWI-Prolog/swipl-devel').
 1877changelog_event(xref_source/2, added, 90322, 1742832570, "b1ba33902aaec8225032b90ad327176f222dc122", "ADDED: xref_source/2: stream(In) option", 'SWI-Prolog/swipl-devel').
 1878changelog_event(xref_source/2, enhanced, 90000, 1669197179, "68b1a2aa89c7eeed15553aaef6fc9bf83a3550d2", "ENHANCED: Use xref_source/2 for fetching PlDoc comments from loaded sources.  Patch by @swi.", 'SWI-Prolog/swipl-devel').
 1879changelog_event(xref_source/2, enhanced, 90334, 1761483842, "d8d3493c783717f1938a5ab0d2b2de94278b7b39", "ENHANCED: xref_source/2: emit warning on late meta_predicate/1", 'SWI-Prolog/swipl-devel').
 1880changelog_event(xref_source/2, fixed, 90303, 1710408830, "18ec54100f3365c0250bb0e0bf52d1db51bd482d", "FIXED: xref_source/2: keep processing PlDoc commants after including a file.", 'SWI-Prolog/swipl-devel').
 1881changelog_event(xref_update_syntax/2, modified, 90322, 1743071351, "b64481d358897cfe69b6268aaba7de7055a89a25", "MODIFIED: prolog:xref_update_syntax/2", 'SWI-Prolog/swipl-devel').
 1882changelog_event(xsdp_subtype_of/2, enhanced, 80503, 1638182646, "8e14529d434ac11df571d7f0b3e8aa9547675538", "ENHANCED: xsdp_subtype_of/2 to be fully logical.  Wouter Beek.", 'SWI-Prolog/packages-sgml').
 1883changelog_event(xstream_set/3, introduced, 80310, 1602519005, "db51207febd2aa3501395da090d20de12291a25e", "ADDED: library(redis_streams).", 'SWI-Prolog/packages-redis').
 1884changelog_event(zipper_open_current/3, enhanced, 80129, 1586980560, "d172826a4bc5cfbbf5bb394cebdfcc5f9453891d", "ENHANCED: zipper_open_current/3: Use full buffering.", 'SWI-Prolog/swipl-devel')