You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
(57) |
Apr
(103) |
May
(164) |
Jun
(139) |
Jul
(173) |
Aug
(196) |
Sep
(221) |
Oct
(333) |
Nov
(214) |
Dec
(88) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(163) |
Feb
(165) |
Mar
(98) |
Apr
(93) |
May
(199) |
Jun
(118) |
Jul
(200) |
Aug
(212) |
Sep
(185) |
Oct
(297) |
Nov
(437) |
Dec
(272) |
| 2006 |
Jan
(542) |
Feb
(329) |
Mar
(267) |
Apr
(332) |
May
(267) |
Jun
(130) |
Jul
(161) |
Aug
(348) |
Sep
(166) |
Oct
(305) |
Nov
(173) |
Dec
(173) |
| 2007 |
Jan
(199) |
Feb
(118) |
Mar
(133) |
Apr
(200) |
May
(208) |
Jun
(146) |
Jul
(198) |
Aug
(146) |
Sep
(187) |
Oct
(182) |
Nov
(181) |
Dec
(83) |
| 2008 |
Jan
(252) |
Feb
(124) |
Mar
(124) |
Apr
(101) |
May
(143) |
Jun
(122) |
Jul
(129) |
Aug
(60) |
Sep
(80) |
Oct
(89) |
Nov
(54) |
Dec
(112) |
| 2009 |
Jan
(88) |
Feb
(145) |
Mar
(105) |
Apr
(164) |
May
(123) |
Jun
(154) |
Jul
(374) |
Aug
(341) |
Sep
(219) |
Oct
(137) |
Nov
(373) |
Dec
(240) |
| 2010 |
Jan
(197) |
Feb
(270) |
Mar
(253) |
Apr
(150) |
May
(102) |
Jun
(51) |
Jul
(300) |
Aug
(512) |
Sep
(254) |
Oct
(258) |
Nov
(288) |
Dec
(143) |
| 2011 |
Jan
(238) |
Feb
(179) |
Mar
(253) |
Apr
(332) |
May
(248) |
Jun
(255) |
Jul
(216) |
Aug
(282) |
Sep
(146) |
Oct
(77) |
Nov
(86) |
Dec
(69) |
| 2012 |
Jan
(172) |
Feb
(234) |
Mar
(229) |
Apr
(101) |
May
(212) |
Jun
(267) |
Jul
(129) |
Aug
(210) |
Sep
(239) |
Oct
(271) |
Nov
(368) |
Dec
(220) |
| 2013 |
Jan
(179) |
Feb
(155) |
Mar
(59) |
Apr
(47) |
May
(99) |
Jun
(158) |
Jul
(185) |
Aug
(16) |
Sep
(16) |
Oct
(7) |
Nov
(20) |
Dec
(12) |
| 2014 |
Jan
(21) |
Feb
(17) |
Mar
(18) |
Apr
(13) |
May
(27) |
Jun
(15) |
Jul
(19) |
Aug
(22) |
Sep
(30) |
Oct
(16) |
Nov
(19) |
Dec
(16) |
| 2015 |
Jan
(14) |
Feb
(24) |
Mar
(33) |
Apr
(41) |
May
(14) |
Jun
(80) |
Jul
(53) |
Aug
(8) |
Sep
(7) |
Oct
(15) |
Nov
(13) |
Dec
(2) |
| 2016 |
Jan
(22) |
Feb
(12) |
Mar
(30) |
Apr
(6) |
May
(33) |
Jun
(16) |
Jul
(8) |
Aug
(20) |
Sep
(12) |
Oct
(18) |
Nov
(12) |
Dec
(11) |
| 2017 |
Jan
(24) |
Feb
(26) |
Mar
(47) |
Apr
(23) |
May
(19) |
Jun
(14) |
Jul
(28) |
Aug
(30) |
Sep
(17) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
(1) |
Feb
(73) |
Mar
(90) |
Apr
(42) |
May
(116) |
Jun
(90) |
Jul
(127) |
Aug
(103) |
Sep
(56) |
Oct
(42) |
Nov
(95) |
Dec
(58) |
| 2020 |
Jan
(102) |
Feb
(31) |
Mar
(93) |
Apr
(60) |
May
(57) |
Jun
(45) |
Jul
(29) |
Aug
(32) |
Sep
(44) |
Oct
(86) |
Nov
(51) |
Dec
(71) |
| 2021 |
Jan
(44) |
Feb
(25) |
Mar
(78) |
Apr
(130) |
May
(64) |
Jun
(74) |
Jul
(21) |
Aug
(64) |
Sep
(40) |
Oct
(43) |
Nov
(21) |
Dec
(99) |
| 2022 |
Jan
(154) |
Feb
(64) |
Mar
(45) |
Apr
(95) |
May
(62) |
Jun
(48) |
Jul
(73) |
Aug
(37) |
Sep
(71) |
Oct
(27) |
Nov
(40) |
Dec
(65) |
| 2023 |
Jan
(89) |
Feb
(130) |
Mar
(124) |
Apr
(50) |
May
(93) |
Jun
(46) |
Jul
(45) |
Aug
(68) |
Sep
(62) |
Oct
(71) |
Nov
(108) |
Dec
(82) |
| 2024 |
Jan
(53) |
Feb
(76) |
Mar
(64) |
Apr
(75) |
May
(36) |
Jun
(54) |
Jul
(98) |
Aug
(137) |
Sep
(58) |
Oct
(177) |
Nov
(84) |
Dec
(52) |
| 2025 |
Jan
(70) |
Feb
(53) |
Mar
(72) |
Apr
(47) |
May
(88) |
Jun
(49) |
Jul
(86) |
Aug
(51) |
Sep
(65) |
Oct
(91) |
Nov
(72) |
Dec
(86) |
| 2026 |
Jan
(75) |
Feb
(66) |
Mar
(135) |
Apr
(126) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Duncan P. <no...@gi...> - 2026-04-30 23:42:28
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: 3a3f71145ab334c71078e2aa4e39063a93841162 https://github.com/eXist-db/exist/commit/3a3f71145ab334c71078e2aa4e39063a93841162 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/jetty/JettyStart.java M exist-core/src/main/java/org/exist/scheduler/Scheduler.java M exist-core/src/main/java/org/exist/scheduler/impl/QuartzSchedulerImpl.java M exist-core/src/main/java/org/exist/storage/BrokerPool.java M exist-core/src/main/java/org/exist/storage/BrokerPools.java Log Message: ----------- [bugfix] Harden BrokerPool shutdown sequence (audit fixes C2-C5) Findings from a 2026-04-29 shutdown/lifecycle audit (issues C2-C5): C2 - Eliminate the JVM shutdown-hook race between BrokerPools.ShutdownHook and JettyStart's BrokerPoolAndJettyShutdownHook. JettyStart now deregisters the default BrokerPools hook when it registers its own, so only one runs at JVM shutdown. C3 - Bound scheduler shutdown so a stuck Quartz job cannot hang the JVM. Added Scheduler.shutdown(long timeoutMs) with a watchdog: if the underlying shutdown(true) does not complete within the timeout, currently executing jobs are interrupted and shutdown(false) is forced. BrokerPool.shutdown now passes maxShutdownWait/2 as the timeout. C4 - On activeBroker drain interrupt or timeout, log every thread that still holds a broker (with stack trace) before proceeding into broker.shutdown(). Surfaces unflushed-transaction risk so the cause is visible on the next start. C5 - Before the blanket instanceThreadGroup.interrupt() at the end of shutdown, enumerate threads still alive in the group and log them by name and daemon status, making subsystems with no explicit shutdown path visible (rather than silently masked by the interrupt). C1 (Jetty stops AFTER BrokerPool nulls fields) is intentionally NOT addressed in this PR. A direct synchronous server.stop() from within BrokerPool.shutdown deadlocks Jetty 11's stop sequence in the test infrastructure (RemoteSecurityManagerRoundtripTest reproduces it on restart). It needs a deeper rework of the JettyStart status protocol and will be tackled separately. Test plan - exist-core ShutdownTest, DirtyShutdownTest, BrokerPoolTest, ConcurrentBrokerPoolTest, RemoteSecurityManagerRoundtripTest pass. - Full mvn test (-Ddependency-check.skip -Dlicense.skip -Ddocker=false) green for every module that has tests; the only failure is exist-xqts failing dependency resolution against GitHub Packages (auth issue unrelated to this change). Commit: 66fd657ac66c95aa16f7641e5ee0a0803602811c https://github.com/eXist-db/exist/commit/66fd657ac66c95aa16f7641e5ee0a0803602811c Author: Duncan Paterson <dun...@us...> Date: 2026-05-01 (Fri, 01 May 2026) Changed paths: M exist-core/src/main/java/org/exist/jetty/JettyStart.java M exist-core/src/main/java/org/exist/scheduler/Scheduler.java M exist-core/src/main/java/org/exist/scheduler/impl/QuartzSchedulerImpl.java M exist-core/src/main/java/org/exist/storage/BrokerPool.java M exist-core/src/main/java/org/exist/storage/BrokerPools.java Log Message: ----------- Merge pull request #6285 from joewiz/bugfix/shutdown-lifecycle Compare: https://github.com/eXist-db/exist/compare/219f0258a700...66fd657ac66c To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Joe W. <no...@gi...> - 2026-04-30 21:50:57
|
Branch: refs/heads/feature/post-90-fixes Home: https://github.com/eXist-db/exist Commit: f509ea435513a1505ef8a9b5fe0ca350b40708fa https://github.com/eXist-db/exist/commit/f509ea435513a1505ef8a9b5fe0ca350b40708fa Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/regex/RegexUtil.java Log Message: ----------- [bugfix] Tighten XPath regex validation to reject more invalid constructs Mirror of the validation tightening landed on v2/xq4-core-functions (commit 3094b11fe0), applied here so the next-v3 integration branch benefits before the merge. Adds five new validation checks to RegexUtil.validateXPathRegex: - Doubled quantifiers (*{n,m}, +{n,m}, ?{n,m}, **) - Quantifier after \b/\B word-boundary assertion - POSIX-style [:name:] character classes - Backslash escapes inside character classes that fall outside the XPath set (e.g. \x41, \u0041) — previously not scanned - XPath 4.0 lookaround constraints: variable-length lookbehind, and quantified lookaround groups Drops the previous "quantifier after anchor" rejection in favor of Saxon's lenient handling, matching the XQ30 behavior expected by the fn-matches.re test cases. XQTS QT4 fn-matches.re: 1109 tests, 69 → 50 failures (-19, hits the Phase 1 ≤50 gate). +24 newly passing, −5 trade-off losses on the "a-suffix" XQ40 anchor-quantifier tests. Other regex test sets (fn-matches, fn-replace, fn-tokenize, fn-analyze-string) unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 1c96a34d6f4256c440949c8b7d912dcbfb9170ea https://github.com/eXist-db/exist/commit/1c96a34d6f4256c440949c8b7d912dcbfb9170ea Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/map/MapExpr.java M exist-core/src/main/java/org/exist/xquery/functions/map/MapFunction.java M exist-core/src/main/java/org/exist/xquery/functions/map/MapType.java M exist-core/src/main/java/org/exist/xquery/functions/map/SingleKeyMapType.java Log Message: ----------- [optimize] Reduce overhead on hot map operations The op:same-key XQTS test set takes ~15s in CI batches and contributes to batch-9 OOM. Profiling showed the bulk of the time goes to per-iteration overhead (singleton-map literal construction, map:remove(M, K) on a single key, contains/get on uniformly-typed maps, iterator allocation when merging single-key map entries). Changes (all functionally-neutral fast paths; XQuery3Tests + map JUnit tests show identical pass/fail counts versus baseline): - MapExpr: literal `map { K : V }` with one mapping now goes through the `MapType(... , key, value)` constructor directly, skipping the linear/forked dance and the duplicate-key probe that cannot fire. - MapType.merge / merge(mergeFn): fold SingleKeyMapType entries into the accumulator without calling its iterator (which allocates a SingleKeyMapIterator + Maps.Entry per entry). - MapType.remove(AtomicValue[]): short-circuit empty arrays and single-key removal — single-key remove uses the immutable map.remove(key) directly, avoiding linear()/forked() wrappers. - MapType.get / contains: when the key already matches keyType, skip the redundant convertTo() round-trip. The standalone convert() helper is removed (no other callers). - SingleKeyMapType.get: return Sequence.EMPTY_SEQUENCE rather than null when the lookup misses, matching MapType.get and protecting callers that don't null-check (e.g. LoadXQueryModule). - MapFunction.getMergeStrategy: widen the cast to AbstractMapType so an options map produced by map:entry() is accepted (previously a class cast would have thrown if the map literal were ever a SingleKeyMapType). Commit: f00ed02943bfa844f7aae4d3274cacbaaa24881d https://github.com/eXist-db/exist/commit/f00ed02943bfa844f7aae4d3274cacbaaa24881d Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/LoadXQueryModule.java A exist-core/src/test/java/org/exist/xquery/functions/fn/LoadXQueryModuleContentTest.java Log Message: ----------- [bugfix] fn:load-xquery-module: check loaded module's own version The XQuery version declared inside a dynamically-loaded module is recorded on that module's ModuleContext, not on the temporary host context that the import is created against. The previous check compared the requested version against tempContext (which always holds the default 3.1) and produced spurious FOQM0003 errors when both caller and inline module declared 'xquery version "4.0"'. In particular, the misc-Subtyping QT4 test set (which uses the XQ4 content option to load 4.0 modules from string) failed every test with FOQM0003 ("Imported module has wrong XQuery version: 3.1"), masking the real subtyping bugs underneath. Inspect the loaded module's own context for its declared version and only raise FOQM0003 when that doesn't match the caller's requested version. Schema-aware/internal modules are skipped. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 58466ae7dc43f5a1ad66aa882f4b04a1905c6e2d https://github.com/eXist-db/exist/commit/58466ae7dc43f5a1ad66aa882f4b04a1905c6e2d Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/antlr/org/exist/xquery/parser/XQueryTree.g M exist-core/src/main/java/org/exist/xquery/ExternalModule.java M exist-core/src/main/java/org/exist/xquery/ExternalModuleImpl.java M exist-core/src/main/java/org/exist/xquery/VariableImpl.java M exist-core/src/main/java/org/exist/xquery/functions/fn/FunResolveURI.java M exist-core/src/main/java/org/exist/xquery/functions/fn/FunSum.java M exist-core/src/main/java/org/exist/xquery/value/ArrayListValueSequence.java M exist-core/src/main/java/org/exist/xquery/value/QNameValue.java M exist-core/src/main/java/org/exist/xquery/value/StringValue.java M exist-core/src/main/java/org/exist/xquery/value/SubSequence.java M exist-core/src/main/java/org/exist/xquery/value/ValueSequence.java Log Message: ----------- [bugfix] Align W3C error codes for misc-CombinedErrorCodes XQTS Targets QT4 misc-CombinedErrorCodes failures by raising the W3C-spec error code at each throw site instead of approximations. XQuery static prolog (XQueryTree.g): - Duplicate `declare construction` now raises XQST0067 (was XQST0069). - Duplicate `declare default order empty` now raises XQST0069 (was XQST0065, which is for `declare ordering`). - Computed attribute constructor with an undeclared prefix in the name now raises XQDY0074 (was XPST0081). The prefix is resolved during dynamic evaluation per XQuery 3.1 §3.9.3.1, so the error is dynamic. - Module declaration with a zero-length namespace literal now raises XQST0088 (was XPST0081 from later module loading). Element/attribute construction: - StringValue: invalid character reference now raises XQST0090 (was a generic ERROR). - QNameValue: undeclared prefix in a runtime QName cast (e.g. xs:QName('p:l')) now raises FONS0004 (was XPST0081). Path / type system: - ValueSequence/ArrayListValueSequence/SubSequence: converting a non-node sequence to a node-set now raises XPTY0019 (was generic ERROR) - applies to path-step source diagnostics. - TreatAsExpression / DynamicTypeCheck: a `treat as` type mismatch now raises XPDY0050 (was XPTY0004). DynamicTypeCheck takes an optional error-code parameter; the function-argument and return-type wrappers keep the existing XPTY0004. - VariableImpl.checkType: variable type mismatch now raises XPTY0004 (was generic ERROR). Function library: - FunResolveURI: invalid relative or base URI raises FORG0002 (was FORG0009); a non-absolute base URI also raises FORG0002. - FunSum: incompatible operand types in fn:sum now raise FORG0006 (was XPTY0004 leaking from OrderedDurationValue.plus). Module system: - ExternalModuleImpl.declareFunction now enforces XQST0048 when a function declared in a library module is not in the module's target namespace (variable declarations already enforced this). - ExternalModule.declareFunction signature gains `throws XPathException`. Tests: - exist-core XQuery3Tests: 978 pass, 0 failures, 0 errors - exist-core XPathQueryTest: 150 pass, 0 failures, 0 errors Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: ca04fe6ba7040a12144ab72dfe977549055f5b4a https://github.com/eXist-db/exist/commit/ca04fe6ba7040a12144ab72dfe977549055f5b4a Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/ElementConstructor.java M exist-core/src/main/java/org/exist/xquery/XQueryContext.java M exist-core/src/test/java/org/exist/xquery/XQueryContextTest.java Log Message: ----------- [bugfix] Fix XQST0070/XQST0071 detection for namespace declarations Element constructors with two xmlns or xmlns:p attributes now raise XQST0071 when the second declaration has a different URI from the first. The previous QName equality check only flagged exact duplicates, missing the spec-required case where the same prefix maps to different URIs. setDefaultFunctionNamespace and setDefaultElementNamespace now reject the reserved XML (http://www.w3.org/XML/1998/namespace) and XMLNS (http://www.w3.org/2000/xmlns/) namespace URIs as the default function namespace, and the XML namespace as the default element namespace, with XQST0070. Aligns with W3C XQuery 3.1 §4.13. Adds JUnit coverage for the four new rejection paths in XQueryContextTest. Improves W3C XQTS prod-DefaultNamespaceDecl conformance: addresses defaultnamespacedeclerr-4 through -8 (XQST0070) and K2-DefaultNamespaceProlog-8/-9 (XQST0071). Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: cbd1e86c7379b74b4a5f4bcec9be1e11adb47d27 https://github.com/eXist-db/exist/commit/cbd1e86c7379b74b4a5f4bcec9be1e11adb47d27 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FunResolveURI.java Log Message: ----------- [refactor] FunResolveURI: join nested if with outer else per review Co-Authored-By: Claude Opus 4.6 (1M context) <no...@an...> Commit: 6f4500ea31173487812a48ccc67a78363f48ce4f https://github.com/eXist-db/exist/commit/6f4500ea31173487812a48ccc67a78363f48ce4f Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/CastExpression.java M exist-core/src/main/java/org/exist/xquery/CastableExpression.java M exist-core/src/main/java/org/exist/xquery/ErrorCodes.java M exist-core/src/main/java/org/exist/xquery/FunctionFactory.java M exist-core/src/test/java/org/exist/xquery/UnknownAtomicTypeTest.java Log Message: ----------- [bugfix] Fix CastExpr error codes per QT4 §4.5/§4.6 XQTS prod-CastExpr: align W3C error codes for cast/castable corner cases that previously returned generic codes. Probed against current branch: CastExpression / CastableExpression: - xs:anySimpleType cast/castable now raises XPST0080 (was XPST0051), joining xs:NOTATION and xs:anyAtomicType per QT4 §4.5.3 - xs:anyType / xs:untyped target now raises XQST0052 (was XPST0051): these are defined types but not atomic - Forbid xs:untypedAtomic → xs:QName cast (raises XPTY0004 per XPath F&O 3.1 §19.4.5: "always raises a type error") - Source side XPST0051 message now reads "cannot cast from <T>" so the type displayed reflects what's actually problematic FunctionFactory: - xs:NOTATION(arg), xs:anyAtomicType(arg), xs:anySimpleType(arg) constructor calls now raise XPST0017 (no constructor exists for these abstract types) instead of letting them through to CastExpression.eval where they'd raise XPST0080 XQueryTree.g (cast / castable target type): - Unknown type name in cast/castable now raises XQST0052 (was XPST0051). SequenceType uses (let, function param, instance-of, treat-as) keep XPST0051. ErrorCodes: - Add XQST0052 (was missing from the W3C error code table). UnknownAtomicTypeTest: - castAs / castableAs now expect XQST0052 to match the new code. letVariable / functionReturnType / functionParameterType / instanceOf / treatAs continue to expect XPST0051. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: ca0b20ba504117972e264dc423ddf7aba17bab93 https://github.com/eXist-db/exist/commit/ca0b20ba504117972e264dc423ddf7aba17bab93 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FunSerialize.java M exist-core/src/main/java/org/exist/xquery/value/DecimalValue.java M exist-core/src/main/java/org/exist/xquery/value/StringValue.java M exist-core/src/test/java/org/exist/xquery/OptimizerTest.java Log Message: ----------- [refactor] Address PR #6207 follow-up review feedback - FunSerialize: import java.util.regex.{Matcher,Pattern} instead of FQDN - DecimalValue.convertTo: convert to switch expression with comma-separated labels - StringValue.checkType: convert to switch with comma-separated labels and arrow syntax - OptimizerTest: rename nestedComparisonNotUsedAsFilter_issue4958 to camelCase to satisfy Codacy Per @reinhapa and @duncdrum review comments on PR #6207. Commit: 000c0600670a8a0f14f66e74d8eeb208e9e2cce7 https://github.com/eXist-db/exist/commit/000c0600670a8a0f14f66e74d8eeb208e9e2cce7 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/antlr/org/exist/xquery/parser/XQuery.g M exist-core/src/main/antlr/org/exist/xquery/parser/XQueryTree.g M exist-core/src/main/java/org/exist/Namespaces.java M exist-core/src/test/java/org/exist/xquery/AnnotationsTest.java Log Message: ----------- [feature] Annotations on FunctionTest + extend reserved namespaces Two grammar/static-analysis improvements for prod-Annotation conformance: 1. AnnotatedFunctionTest (XQ3.1+): the spec allows annotations to prefix FunctionTest in sequence-type positions, e.g. () instance of %eg:x function(*) () instance of %eg:x %eg:y(1) function(xs:integer) as xs:string Previously the grammar only accepted annotations on function/variable declarations and inline function expressions, so any annotated FunctionTest produced an XPST0003 parse error. Adds a `MOD =>` alternative to itemType, a new annotatedFunctionTest rule, and ANNOTATED_FUNCTION_TEST imaginary token. The tree walker validates each annotation for reserved-namespace use (XQST0045), then processes the inner FunctionTest identically to the non-annotated form. 2. Reserved namespaces for XQST0045: per the XQ3.1/XQ4 spec the annotation namespace list also covers the map and array function namespaces and the XQuery 2012 namespace (http://www.w3.org/2012/xquery), used for %public/%private and the `xq` prefix. Adds the corresponding constants to Namespaces.java and wires them through annotationValid(). Verified with the existing AnnotationsTest plus 7 new cases covering annotations on AnyFunctionTest, TypedFunctionTest, multiple annotations, braced-URI literals, and the three newly-reserved namespaces. XQuery3 suite (978 tests) regressed cleanly. Projected XQTS prod-Annotation impact (QT4 catalog): the existing 22 assertion-style failures with `%anno function(*)` patterns and the four declaration-side failures using map/array/xq namespaces flip from FAIL to PASS, lifting prod-Annotation from ~55% to ~85%+ pass rate, well above the 60% Phase 1 gate. Commit: 11c70e8b176669b5b39d2a97ae95b1aae74ba84c https://github.com/eXist-db/exist/commit/11c70e8b176669b5b39d2a97ae95b1aae74ba84c Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/antlr/org/exist/xquery/parser/XQuery.g A exist-core/src/test/java/org/exist/xquery/ReservedFunctionNameTest.java Log Message: ----------- [bugfix] Reject reserved function names in FunctionDecl Per XQuery 3.0+ A.1.1 ReservedFunctionNames, the unprefixed names attribute, comment, document-node, element, function, if, item, namespace-node, node, processing-instruction, schema-attribute, schema-element, switch, text, and typeswitch may not be used as the name of a function declaration. The ANTLR 2 parser previously accepted these names because eqName / ncnameOrKeyword recognises them as keywords usable in NCName positions. Reject them in functionDecl with XPST0003 immediately after parsing the name. empty-sequence, array, and map are intentionally excluded: per QT4 test function-decl-reserved-function-names-010a (XQ40+), empty-sequence is no longer reserved as a function name in XQuery 4.0; array and map were unreserved on the same path. Fixes 15 XQTS prod-FunctionDecl conformance failures (function-decl-reserved-function-names-002, -004, -006, -008, -010, -012, -014, -016, -018, -020, -024, -026, -028, -030, -032). Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 52b963bfcad7b481711e4576e816ed416d325322 https://github.com/eXist-db/exist/commit/52b963bfcad7b481711e4576e816ed416d325322 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/test/java/org/exist/xquery/AnnotationsTest.java Log Message: ----------- [refactor] AnnotationsTest: convert to text blocks per review Replace string concatenation with Java 15+ text blocks for all XQuery query strings in AnnotationsTest. Also inline the TEST_VALUE_CONSTANT where it was only used once. Co-Authored-By: Claude Opus 4.6 (1M context) <no...@an...> Commit: 6e6ddd097cb953c68bfe4b14124291dbfa51e70a https://github.com/eXist-db/exist/commit/6e6ddd097cb953c68bfe4b14124291dbfa51e70a Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: A exist-distribution/src/main/config/log4j2-container.xml M exist-distribution/src/main/config/log4j2.xml M exist-docker/src/main/resources-filtered/Dockerfile M exist-docker/src/main/resources-filtered/Dockerfile-DEBUG R exist-jetty-config/src/main/resources/org/exist/jetty/etc/jetty-logging.xml M exist-jetty-config/src/main/resources/org/exist/jetty/etc/jetty-requestlog.xml M exist-jetty-config/src/main/resources/org/exist/jetty/etc/standalone.enabled-jetty-configs M exist-jetty-config/src/main/resources/org/exist/jetty/etc/standard.enabled-jetty-configs Log Message: ----------- [refactor] Consolidate Jetty 12 logging into log4j2 Per duncdrum's request on PR #6145 (April 27 community call), make log4j2.xml the single source of truth for all logging configuration in the Jetty 12 upgrade. Changes ------- - log4j2.xml: add jetty.internal and jetty.requestlog appenders that write to logs/jetty/jetty.log and logs/jetty/requests.log respectively; add an org.eclipse.jetty WARN logger for Jetty internals (SLF4J-bridged via log4j-slf4j2-impl). Request-log level is overridable via EXIST_REQUEST_LOG_LEVEL — set OFF to suppress client-IP logging for GDPR. - log4j2-container.xml: new Console-only configuration for container deployments. Routes eXist core logs, Jetty internals, and request logs to stdout so the container runtime can collect them. - Dockerfile / Dockerfile-DEBUG: point log4j.configurationFile at log4j2-container.xml so containers stream logs by default. - jetty-requestlog.xml: explicit Slf4jRequestLogWriter with loggerName "org.eclipse.jetty.server.RequestLog". The no-arg CustomRequestLog defaulted to the Slf4jRequestLogWriter class name in Jetty 12, which silently bypassed our log4j2 logger and produced an empty requests.log. - jetty-logging.xml: removed. It only redirected stdout/stderr (a Jetty 9-era pattern, useless under SLF4J) and was already commented out in both standalone/standard enabled-jetty-configs. - enabled-jetty-configs: replace the jetty-logging.xml stub with a pointer to log4j2.xml. Verified locally: requests.log captures NCSA-formatted hits, GDPR suppression works via EXIST_REQUEST_LOG_LEVEL=OFF, and container mode emits everything to stdout with no on-disk rolling files. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 9de1cd1f31eca9917768720ce86d0af39865560e https://github.com/eXist-db/exist/commit/9de1cd1f31eca9917768720ce86d0af39865560e Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FunXmlToJson.java M exist-core/src/test/xquery/xquery3/xml-to-json.xql Log Message: ----------- [feature] fn:xml-to-json: reconcile rewrite from v2/xq4-core-functions Copy the rewritten FunXmlToJson.java from v2/xq4-core-functions (originally 9915c5f2a2) onto next-v3 directly rather than cherry-picking, because the v2 branch's rewrite diverged too far from the older version that earlier cherry-picks had landed here. Brings forward: - XQ4 number lexical preservation per QT4CG PR1455 (strip leading '+', strip leading zeros, prepend '0' before leading '.', append '0' after trailing '.'; preserve case of 'e'/'E', '-0', and exponent format). - Unknown options rejection with FOJS0005 in XQ4 mode (PR1059). - Empty sequence accepted as the optional options argument. - indent/escape-solidus presence checked via map.contains() rather than conflating absent vs explicitly-empty values. XQ31 behaviour is preserved verbatim. Reconcile xml-to-json.xql to match the new implementation: - empty <boolean/> now raises FOJS0006 (was returning 'false'). - accept lexical 'true'/'false' as <boolean> content. - escape-solidus default escapes '/' as '\/' in unescaped strings. - '\x' / '\uABC' invalid escape sequences raise FOJS0007 in escaped strings (was checking '"' / ' ', neither of which is invalid). - '\u007F' control-character escaping enabled. - '<\/test>' closing solidus escaping in xmlInJsonString test. Stored-document tests (collection setUp/tearDown, simple-map and nested-structure round-trip) and wrong-namespace tests added on next-v3 are preserved. Co-authored-by: Joe Wicentowski <jo...@gm...> Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 7501e0aae3a854331f867012cbe727581b0b10bf https://github.com/eXist-db/exist/commit/7501e0aae3a854331f867012cbe727581b0b10bf Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/map/MapExpr.java Log Message: ----------- [bugfix] Fix MapExpr single-mapping fast path for entries field rename The op-same-key optimization referenced this.mappings which was renamed to this.entries by the bare-map-syntax content expressions work. Also adds instanceof check since entries list can now contain ContentEntry (not just Mapping). Co-Authored-By: Claude Opus 4.6 (1M context) <no...@an...> Commit: e72b12613b8a7459cabcd5737500d6903ccf0052 https://github.com/eXist-db/exist/commit/e72b12613b8a7459cabcd5737500d6903ccf0052 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/integer/DigitsIntegerPicture.java M exist-core/src/main/java/org/exist/xquery/functions/integer/IntegerPicture.java M exist-core/src/test/java/org/exist/xquery/functions/integer/IntegerPictureTest.java Log Message: ----------- [feature] fn:format-integer: XQ4 radix prefix (BASE^pattern) Adds XQuery 4.0 radix-prefix support to fn:format-integer per xpath-functions 4.0 §4.6.1. The picture may now begin with an ASCII integer 2-36 followed by '^', after which the primary token uses 'X' or 'x' as the mandatory-digit-sign and a digit family drawn from 0123456789abcdefghijklmnopqrstuvwxyz (case-folded according to whether 'X' or 'x' is used). format-integer(1234, '16^xxxx') → "04d2" format-integer(1234, '16^X') → "4D2" format-integer(12345678, '16^xxxx_xxxx') → "00bc_614e" format-integer(255, '2^xxxx xxxx') → "1111 1111" format-integer(1023, '32^XXXX') → "00VV" Per the spec, the circumflex is recognized as a radix marker only when (a) preceded by an integer in [2,36] and (b) followed somewhere in the primary token by 'X' or 'x'; otherwise the input is interpreted in the existing decimal mode where '^' becomes a grouping separator. This preserves backwards compatibility with 3.1, e.g. format-integer(2345, '9^000') still returns "2^345". Mixed upper/lower case mandatory-digit-signs are rejected. Recovers 8 fo-spec-examples tests in the QT4 XQTS that exercise fn:format-integer-{011..017} and related cases. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 27c8ecc7bfa59c359cd035fd2e29fe82d944dfd0 https://github.com/eXist-db/exist/commit/27c8ecc7bfa59c359cd035fd2e29fe82d944dfd0 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/parser/next/XQueryLexer.java M exist-core/src/main/java/org/exist/xquery/parser/next/XQueryParser.java M exist-core/src/test/java/org/exist/xquery/parser/next/XQueryParserTest.java Log Message: ----------- [feature] rd parser: QName literals with EQName, U+00F7 div, XQ4 pragma rules Three related XQuery 4.0 lexer/parser fixes that the QT4 XQTS fo-spec-examples test set exercises: 1. QNameLiteral with braced URI: #Q{uri}local now parses. The parser's peekIsNameStart helper was rejecting BRACED_URI_LITERAL, so '#' immediately followed by Q{...}local fell through to the generic 'Expected expression' error path. 2. Pragma vs. QName disambiguation per XQ4 §3.x. Pragmas in 3.1 used the bare token pair `(#`; XQ4 requires whitespace between `(#` and the EQName so that calls like fn:error(#err:XPTY0004) are not mis-tokenized as pragmas. The lexer now only emits PRAGMA_START when `(#` is followed by ASCII whitespace; otherwise `(` is LPAREN and the next call returns HASH (which begins a QNameLiteral). 3. U+00F7 DIVISION SIGN (÷) is recognized as an alternate spelling of `div`. The lexer emits it as an NCNAME with value "div" so the existing parseMultiplicativeExpr path picks it up. JUnit coverage added: qnameLiteralBracedURI, qnameLiteralEmptyBracedURI, qnameLiteralXsType, divisionSignOperator. The pre-existing qnameLiteral test for #math:pi continues to pass. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 494fd5be3de8adb252582669570123043aaaa0c5 https://github.com/eXist-db/exist/commit/494fd5be3de8adb252582669570123043aaaa0c5 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FnModule.java M exist-core/src/main/java/org/exist/xquery/functions/fn/FnSubsequenceWhere.java M exist-core/src/test/java/org/exist/xquery/parser/next/XQueryParserTest.java Log Message: ----------- [feature] fn:subsequence-where: add 1-arg signature Per XQuery 4.0 §X.X, fn:subsequence-where has the signature ($input, $from?, $to?). The third optional parameter and the 1-arg form (input only) were missing from the registered signatures, so calls like fn:subsequence-where($seq) were rejected with XPST0017 even though the existing impl already treats both predicates as optional. This adds the 1-arg signature alongside the existing 2- and 3-arg forms, and registers it via FnModule. Adds two parser regression tests: - qnameLiteralAfterDoubleParen: deep-equal((#xs:decimal), $r) verifies the XQTS deep-equal harness shape parses correctly. - qnameLiteralBracedURIWithPrefixedLocal: documents that Q{ns}prefix:local (a non-standard EQName form used by some QT4 catalog assertions) is currently not accepted (test marked for follow-up). Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: a89fd6bbc13549c2aef660bda3c0f6f048ed10fc https://github.com/eXist-db/exist/commit/a89fd6bbc13549c2aef660bda3c0f6f048ed10fc Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/regex/RegexUtil.java Log Message: ----------- [bugfix] XPath regex: validate back-references and tighten char class grammar Phase 2 follow-up to 3094b11fe0 — converts five more categories of fn:matches/fn:replace/fn:tokenize/fn:analyze-string spec failures into FORX0002 errors, while removing one over-eager rejection. Back-references (\1-\9 and multi-digit forms): - 3094b11fe0 rejected ALL '\<digit>' as invalid, but XPath F&O 3.1+ does define back-references; the rejection broke valid patterns like (.)\1, (.)\19, and (.{N})...\11 (where N≥11). - Now greedily parse \N up to the total capturing-group count in the pattern (so \11 in an 11-group regex is back-ref 11, but \11 in a 1-group regex is \1 + literal '1'). - Track CLOSED capturing groups during validation: forward references (\1(abc)) and self-references ((.)\2) raise FORX0002 because the referenced group has not yet closed at the back-reference position. - \0 stays rejected as an octal escape. Character class grammar: - Tighten scanCharClass to enforce that '[' inside a class is only valid as the start of a subtraction class — i.e. the immediately preceding character is an unescaped '-' AND the (pos|neg)CharGroup before that '-' is non-empty. This rejects patterns like [-[xyz]], [^-[xyz]], [[abcd]-[bc]], and [a - c - [b]] where '-[' is not the valid subtraction separator. - Reject empty character classes ([], [^], and the [] inside [...-[]]) which the grammar disallows but Saxon accepts leniently. - Use Java 21 switch-expression form for the in-class escape table. XQuery 4.0 anchor quantification: - In XQ4 mode, reject '^?', '$+', '^{n}', '${n,m}', etc. — the spec tightens the grammar so anchors cannot be quantified. Trades the six XQ31-tagged tests that demand lenient handling for the matching six XQ40-tagged 'a-suffix' tests that demand FORX0002, net 0 in the QT4 runner (which forces every test to XQ4 mode regardless of the test's spec dependency) but spec-correct for XQ4. XQTS QT4 fn-matches.re: 51 → 29 failures (94.9% → 96.8% pass rate), fn-matches: 13 → 3, fn-replace: 10 → 9; fn-tokenize and fn-analyze-string unchanged at 7 each. JUnit XQuery3Tests unchanged (3 failures + 2 errors all pre-existing — verified by re-running against the un-patched RegexUtil). The remaining 29 fn-matches.re failures are all dependency-tagged 'XP30 XP31 XQ30 XQ31' tests (\b/\B in 3.1, '(?=...)' lookaround in 3.1, anchor-quantifier in 3.1) that the QT4 runner force-promotes to XQ4 mode, where the constructs are valid extensions; nothing the validator can do without runner changes. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: cf7594096ef0fa883ead6ddefe48293b5799bbb8 https://github.com/eXist-db/exist/commit/cf7594096ef0fa883ead6ddefe48293b5799bbb8 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/RangeSequence.java M exist-core/src/main/java/org/exist/xquery/functions/fn/FunReverse.java M exist-core/src/main/java/org/exist/xquery/value/IntegerValue.java A exist-core/src/main/java/org/exist/xquery/value/ReversedSequence.java M exist-core/src/test/java/org/exist/xquery/RangeSequenceTest.java A exist-core/src/test/java/org/exist/xquery/value/ReversedSequenceTest.java M exist-core/src/test/java/org/exist/xquery/value/SubSequenceRangeTest.java M exist-core/src/test/java/org/exist/xquery/value/SubSequenceTest.java M exist-core/src/test/xquery/xquery3/fn.xql Log Message: ----------- [optimize] fn:reverse: lazy O(1) view for ranges and value sequences Materialized fn:reverse to a fresh ValueSequence even when the input already supported random access. For RangeSequence in particular, the old implementation eagerly created an IntegerValue for every position in the range, so `reverse(1 to 1e10)` would OOM long before the result was used. Changes: - RangeSequence gains an `ascending` flag and an O(1) `reverse()` that returns a new view sharing the same `start`/`end` bounds. itemAt(), iterate(), unorderedIterator() and iterateInReverse() respect the flag without ever materializing items. - New ReversedSequence wrapper provides a lazy reversed view over any sequence with random access via itemAt(). Used for ValueSequence so reverse() does not copy items. - FunReverse.eval() dispatches: empty/singleton -> identity; RangeSequence -> rs.reverse(); ReversedSequence -> unwrap (so reverse(reverse(E)) collapses); ValueSequence -> wrap; otherwise fall back to materialization (preserves existing behavior for node sets and persistent sequences). - IntegerValue.getLongChecked() raises FOAR0002 when the underlying BigInteger is outside the long range, used by RangeSequence(IV, IV) so out-of-range bounds fail loudly instead of silently truncating. Tests: - RangeSequenceTest: itemAt/iterate/skippable for reversed ranges, double-reverse, and a 1e10 large-range smoke test. - New ReversedSequenceTest covering the wrapper. - fn.xql adds XQSuite tests for reverse(empty), reverse(single), reverse(range), reverse(reverse(...)), `reverse(tail(reverse()))` ("all but last"), reverse over 1e9 with `[1]` access, reverse over a 1M range with count(), and string-sequence reverse. The 1e9 reverse test now runs in <1ms (was previously OOM). Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 3e33c11cb36a7b6da0f8023a16fa35d2cdab4fff https://github.com/eXist-db/exist/commit/3e33c11cb36a7b6da0f8023a16fa35d2cdab4fff Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/antlr/org/exist/xquery/parser/XQuery.g M exist-core/src/main/antlr/org/exist/xquery/parser/XQueryTree.g M exist-core/src/main/java/org/exist/xquery/ErrorCodes.java M exist-core/src/main/java/org/exist/xquery/value/AbstractDateTimeValue.java M exist-core/src/main/java/org/exist/xquery/value/DateTimeValue.java M exist-core/src/main/java/org/exist/xquery/value/DateValue.java M exist-core/src/main/java/org/exist/xquery/value/DayTimeDurationValue.java M exist-core/src/main/java/org/exist/xquery/value/DurationValue.java M exist-core/src/main/java/org/exist/xquery/value/OrderedDurationValue.java M exist-core/src/main/java/org/exist/xquery/value/YearMonthDurationValue.java A exist-core/src/test/xquery/xquery3/dateTimeOverflow.xqm Log Message: ----------- [bugfix] Add date/time overflow, ValidateExpr, and inline-fn annotation checks Targets the larger remaining categories of misc-CombinedErrorCodes XQTS failures (round 2 of error-code alignment). All fixes follow the W3C XQuery 3.1 spec and are covered by new XQSuite tests in exist-core/src/test/xquery/xquery3/dateTimeOverflow.xqm. Date/time and duration arithmetic (FODT0001 / FODT0002): - AbstractDateTimeValue.checkYearOverflow() rejects calendars whose year value requires a non-zero eon (i.e., does not fit in int). Applied at the entry of fn:adjust-dateTime-to-timezone, fn:adjust-date-to-timezone, date+duration, dateTime+duration, date-date and dateTime-dateTime. - DurationValue.checkDayTimeOverflow() / checkYearMonthOverflow() reject duration values whose total signed seconds (resp. months) magnitude exceeds Long.MAX_VALUE. Applied to OrderedDurationValue.plus/minus for duration+duration, DayTimeDurationValue.mult/div, and YearMonthDurationValue.mult/div. - These checks turn previously-silent overflow into FODT0001/FODT0002 per XQuery 3.1 §10.1.1 (covers FODT0001-1..12, FODT0002-1..4 and the FOAR0002/FODT0002 alternative in misc-CombinedErrorCodes). Validate expressions (XQST0075): - New `validateExpr` rule in XQuery.g recognizing XQuery 3.1 §3.18.1 ValidateExpr in `validate {}`, `validate lax {}`, `validate strict {}` forms. eXist does not implement the Schema Validation Feature, so the rule throws XQST0075 at parse time. The validate-type form (`validate type T {…}`) is intentionally omitted to keep `type` free as an identifier (e.g., `$type` parameter in xqsuite.xql). - Added syntactic predicates in primaryExpr and stepExpr so the `validate { … }` token sequence routes to validateExpr instead of being parsed as an axis-step name test (covers K-CombinedErrorCodes-9..12). - `lax` and `strict` are added to ncnameOrKeyword so they remain usable as identifiers wherever NCNames are allowed. Inline function annotations (XQST0125): - New static helper rejectInlineFunctionPublicPrivate in the parser inspects the (suppressed-from-AST) annotations subtree of an inline function expression and raises XQST0125 if any annotation has local name `public` or `private`, matching XQuery 3.1 §3.1.7.1. - ErrorCodes.XQST0125 added. XQTY0086 (namespace-sensitive copy-namespaces) is intentionally not addressed: it requires the Schema Validation Feature, which is out of scope for eXist. Commit: 06b897d8edcec9e3bfe99263fda356f9dc388e7e https://github.com/eXist-db/exist/commit/06b897d8edcec9e3bfe99263fda356f9dc388e7e Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/src/main/antlr/org/exist/xquery/parser/XQuery.g M exist-core/src/main/antlr/org/exist/xquery/parser/XQueryTree.g M exist-core/src/main/java/org/exist/xquery/ErrorCodes.java M exist-core/src/main/java/org/exist/xquery/FunctionFactory.java M exist-core/src/main/java/org/exist/xquery/XQueryContext.java Log Message: ----------- [bugfix] prod-FunctionDecl: XQ4 keyword args, arity overlap, version gating Round 2 of Phase 2 Task 3. Brings prod-FunctionDecl from 173/225 (76.8%) to 209/225 (92.8%) — failures 52→16. Phase 2 gate (≤30 failures, ≥80% pass) met. Parser (XQuery.g): * Track parsed XQuery version (10/30/31/40) from versionDecl. The reserved function-name rejection introduced in 9424f11e was too aggressive: it fired in XQuery 1.0 mode, where attribute/comment/etc. were not yet reserved. Gate the check on parsedVersion >= 30, restoring the 14 XQ10 reserved-function-names tests that round 1 broke. * Recognize prefixed keyword arguments (`prefix:local := value`) as either a single QNAME token or a BRACED_URI_LITERAL+NCNAME sequence. The lexer collapses `p:x` into QNAME, which the original predicate (`ncnameOrKeyword COLON …`) never matched, so XQ4 keyword calls like `local:f(q:x := 3)` and `local:f(Q{ns}x := 3)` failed at parse time. Tree walker (XQueryTree.g): * Enforce XQST0148 — a required parameter cannot follow a parameter with a default value. * NamedFunctionReference: when the unprefixed function name resolves to fn:, fall back to a no-namespace user-declared function (PR2200). Function call resolution (FunctionFactory.java): * Match keyword names in Clark notation so `p:x`, `q:x`, and `Q{ns}x` all bind to the same parameter when their prefixes resolve to the same namespace. * Search every parameter position when matching a keyword (not just those at/after the first keyword) so positional + keyword conflicts are caught and raised as XPST0017. * For user-defined functions, surface a null return from resolveKeywordArguments as XPST0017 instead of silently falling back to raw params (which evaluated kw args as positional). * Stop filling unmatched required parameters with empty sequences. A no-default param is required; if neither positional nor keyword supplied it, return null and let the caller raise XPST0017. * Forward references to unprefixed XQ4 functions: when the fn: namespace has no matching built-in, use the no-namespace QName so a later user declaration resolves through the forward-reference path. declareFunction (XQueryContext.java): * XQST0034: detect arity-range overlap between declarations with default parameters. A function with k defaults is callable at arity requiredCount..declaredArity, and any overlap with another overload is ambiguous. Error codes (ErrorCodes.java): * Add XQST0148 (required-after-optional). Test impact (prod-FunctionDecl, with companion runner version-prepend fix in exist-xqts-runner): Before: 173/225 (76.8%), 52 failures After: 209/225 (92.8%), 16 failures (improvement: -36) Remaining 16 failures are pre-existing static-analysis bugs (out-of-scope variable detection in K-FunctionProlog-37/38), XQ4 downcast feature gaps (K2-FunctionProlog-5a/6a), and PR2200 element-constructor cases that need deeper namespace-resolution work. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 95de58ac8d8b7a4b7e486fca20de82e105c6e263 https://github.com/eXist-db/exist/commit/95de58ac8d8b7a4b7e486fca20de82e105c6e263 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/DynamicFunctionCall.java Log Message: ----------- [bugfix] prod-DynamicFunctionCall: PR1975 sequence dispatch + XQ4 numeric relabeling XQ4 4.0 adds two function-call coercion behaviors that this branch was silently failing on the QT4 prod-DynamicFunctionCall test set (~46 fails): 1. PR1975 sequence-of-functions dispatch: when the function expression in $f(args) returns a sequence of function items, eXist must call each item and concatenate results (or return empty for an empty target). Previously raised XPTY0004 "Expected exactly one item", blocking DynamicFunctionCall-142..149. 2. Numeric relabeling: passing 5 (xs:integer) to a parameter declared xs:positiveInteger, or returning -5 from a function whose return type is xs:negativeInteger, must succeed when the value lies in the declared type's value space. UntypedValueCheck.convert() guarded coercion with hasMember(NUMERIC, requiredType), which is true only for the four top-level NUMERIC members and excluded all derived subtypes — so values fell through unrelabeled. Also dropped a dead-coded throw that rejected every xs:integer → xs:positiveInteger conversion regardless of value (convertTo already validates the value space and raises FORG0001 when out of range). Both changes are version-gated on context.getXQueryVersion() >= 40 to preserve XQ3.1 strict-typing semantics asserted by integers.xq's function-signature-{positive,negative}-integer-from-integer tests. Recovers DynamicFunctionCall-{080, 087, 142..147, 149} and several of the corresponding R-* record-form tests on next-v3. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: cff11a5dcec3d1cf9d5f03fefb21aacff58c1c5e https://github.com/eXist-db/exist/commit/cff11a5dcec3d1cf9d5f03fefb21aacff58c1c5e Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/JSON.java Log Message: ----------- [feature] Improve fn:parse-json XQuery 4.0 compliance (75% → 97%) Reworks JSON.java to thread a single ParseOptions bundle through the recursive parser so all XQuery 4.0 options take effect consistently for fn:parse-json, fn:json-doc and fn:json-to-xml. What changes: * Default duplicates is now use-first (XPath/XQuery 3.1 §17.5.1 / 4.0 PR2096); 'retain' is rejected for parse-json/json-doc. * Empty options sequence is allowed: parse-json(json, ()). * New 'null' option supplies the replacement value (or sequence) used for JSON null in parse-json results, including multi-item sequences. * 'escape' option is now honoured for parse-json: control chars, backslash and characters not allowed in XML are re-encoded with JSON escape sequences. Quote chars are not re-escaped (per QT4 fixtures json-to-xml-049 / json-doc-012 / parse-json-107). * 'fallback' is invoked for chars that cannot appear in XML in both parse-json keys and values, with full validation of return cardinality and FOTY0013 when a function item is returned. * 'number-parser' is invoked for parse-json numeric tokens; multi-item results raise XPTY0004; arity is no longer pre-validated, matching PR975 fixtures. * 'escape' and 'fallback' together raise FOJS0005 (spec §22.3.2). * In XQuery 4.0 mode, unknown options (including 'spec' and 'validate') raise XPTY0004; in 3.1 mode they are silently accepted. * Strings with characters not allowed in XML are normalised with U+FFFD in parse-json output when no fallback is supplied. Test results (QT4 fn-parse-json on v2/xq4-core-functions): before: 142/188 (75.5%), 46 failures after : 182/188 (96.8%), 6 failures (Phase 2 gate ≥80% / ≤30) The remaining 6 failures are out of scope for parse-json: a Jackson leading-zero edge case (716), a parser closure-capture bug (731), JSON serializer of magic-null QName (746/747), and an error-code QName formatting mismatch (943). No regressions in fn-json-to-xml, fn-json-doc, or fn-xml-to-json on this branch. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: c851a6f7a95034a92c3ac4db84a284d929d3f56c https://github.com/eXist-db/exist/commit/c851a6f7a95034a92c3ac4db84a284d929d3f56c Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FunGetDateComponent.java M exist-core/src/main/java/org/exist/xquery/functions/fn/FunReverse.java M exist-core/src/main/java/org/exist/xquery/functions/math/OneParamFunctions.java A exist-core/src/test/java/org/exist/xquery/functions/fn/KeywordArgumentTest.java Log Message: ----------- [feature] XQ4 keyword args: accept reserved keywords as names + placeholder values XPath/XQuery 4.0 partial-application + keyword-argument calls of the form `f(name := ?, name := ?)` show up heavily in QT4 test sets like misc-BuiltInKeywords (Keywords-* tests) and fn-subsequence-where (`subsequence-where(seq, to := pred)`). Two parser limitations stopped these from running: 1. The keyword name had to be a plain NCNAME, with one hard-coded exception for `value` so XQUF's `replace value of` keyword wouldn't shadow it. Spec parameter names like `to`, `node`, `function`, `module` (all reserved keywords) failed at parse time. 2. The keyword-arg value was `exprSingle`, so `?` -- valid only as ArgumentPlaceholder in XQ4 -- was rejected by the parser. Grammar changes: * XQuery.g `argument` -- generalises the keyword-arg name to `ncnameOrKeyword` (NCNAME or any reserved keyword) and accepts either an ArgumentPlaceholder or an exprSingle as the value, with a syntactic predicate `(QUESTION (COMMA | RPAREN))` to disambiguate `?` (placeholder) from `?key` (unary lookup). * XQueryTree.g `functionCall` -- when a KEYWORD_ARG wraps a QUESTION, install Function.Placeholder + flip isPartial=true so the resulting call is wrapped in PartialFunctionApplication. Parameter renames to match XQ4 spec parameter names so keyword-arg resolution finds the slot by name: * math:log10 -- `arg` -> `value` (the rest of math:* was renamed in 67751a72c5; log10 was missed) * FunGetDateComponent.{DATE,TIME,DATE_TIME}_01_PARAM -- name -> `value`, covering year/month/day-from-date, *-from-time, timezone-from-* * fn:reverse -- `arg` -> `input` * fn:matches -- `input` -> `value` Test: new KeywordArgumentTest exercises NCNAME names, reserved-keyword names (`to`), placeholder values (`value := ?`), and verifies that unrelated patterns like `(1 to 5)` in argument position still parse. XQTS deltas (v2/xq4-core-functions, QT4): * misc-BuiltInKeywords: 278 -> 166 fails (+112 passing) * fn-subsequence-where: 56 -> 15 fails (+41 passing, 84% pass rate) `fn:matches(value := ?, pattern := ?)` style tests still hit a pre-existing partial-application limitation: FunMatches.setArguments wraps placeholders in DynamicCardinalityCheck, which PartialFunctionApplication's `instanceof Function.Placeholder` check doesn't see through. That fix is a separate change. Pre-existing unrelated failure: `xqts.replace.empty-match-allowed` flakiness on FORX0003 zero-length match -- present on develop, not introduced here. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: c0b4b99297fdabfcab787d3f2fe305fb5767f86b https://github.com/eXist-db/exist/commit/c0b4b99297fdabfcab787d3f2fe305fb5767f86b Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FnFormatDates.java M exist-core/src/main/java/org/exist/xquery/functions/fn/FnModule.java M exist-core/src/main/java/org/exist/xquery/util/NumberFormatter.java M exist-core/src/main/java/org/exist/xquery/util/NumberFormatter_en.java Log Message: ----------- [bugfix] Overhaul fn:format-date/time/dateTime per W3C XSLT 4.0 picture spec Rewrites the picture parser and formatter in FnFormatDates to handle the remaining XSLT 4.0 / XQuery 4.0 § 9.5 picture-string conventions that the old code mishandled. The QT4 XQTS pass rate for fn-format-date jumps from 70% (40 fails) to 98% (3 fails — all runner-config-related), and fn-format-time pass rate from 57% to 83%. What changed (per file) FnFormatDates.java - Width-modifier detection: find the LAST `,N-N` token at the end of the variable marker, not the first comma. This prevents grouping commas in pictures like `[Y9,999,*]` from being misread as the width separator (was producing 100-char zero-padded years). - Numeric picture parser: extracts mandatory digit count, optional digits (#), grouping separators with their from-right positions, and the digit family of the picture (so `[Y𐒠𐒠𐒠𐒡]` outputs Osmanya digits, etc.). - Fractional-seconds (`[f...]`): full reimplementation of the W3C rules — empty picture → significant-digit default; single-mandatory-digit `[f1]` → unbounded max; multi-digit pictures fix min/max from digit count; width modifiers union/override per spec; trailing-zero trimming when max>min; supports grouping separators and non-ASCII digit families (Arabic-Indic, Thai, Osmanya non-BMP). - Timezone picture: flexible parser supports `[Z00:00]`, `[Z0]`, `[Z999]` (no separator, last-2 are minutes), `[Z0t]` (UTC marker), `[ZZ]` (military letter), `[Z00~00]` (custom separator), and arbitrary digit families including astral-plane codepoints. Hour count is never truncated — large offsets emit naturally. - Military timezone: rebuilt the offset → letter table to skip 'J' (which W3C reserves for "local time" / no timezone). `[ZZ]` on a tz-less value now emits 'J'; out-of-range offsets fall back to signed `+HH:MM`. - Year handling: take absolute value for negative years so `[Y][EN]` of `-0055-12-01` produces `55BC` instead of `0BC`. - Roman numerals: width's min pads with trailing spaces; width's max no longer truncates (per spec — Roman tokens are not subject to digit-style truncation). - Day/month name short form: when a width modifier would otherwise truncate the full name, prefer the locale's standard short form if it fits in the range. `[FNn,3-4]` for Monday now yields `Mon` (as Saxon does) rather than `Mond`. - Calendar argument: bare-name and `Q{}name` calendars must be in the W3C recognised calendar code list — unrecognised codes raise FOFD1340. Recognised-but-unsupported codes (e.g. `CB`) still produce the `[Calendar: AD]` fallback marker. Calendars in non-empty namespaces (`Q{ns}name` or `prefix:name`) always fall back without erroring. - Language fallback: prepend `[Language: en] ` when the requested language isn't in the supported set (en/de/fr/nl/ru/sv) per spec § 9.5.4. - ISO 8601 weeks: `[W]` and `[w]` use `java.time.WeekFields.ISO` so `format-date($d, '[W]', (), 'ISO', ())` returns the spec-correct `52/53` for the Jan 1 boundary cases instead of locale-specific values. - Picture pattern uses Pattern.DOTALL so multi-line pictures (with embedded `\n` and whitespace) parse correctly after `\\s+` stripping. - 3-arg signatures (`format-date/time/dateTime($value, $picture, $lang)`) added for XPath/XQuery 4.0. NumberFormatter.java - Adds `getCardinalWord(long)`, `getOrdinalWord(long)`, `toTitleCase`, `getMonthShort`, `getDayShort` for word/abbreviated forms. - For unsupported languages, fall back to `Locale.ENGLISH` (not the raw unsupported locale) so `Month.getDisplayName(FULL, ...)` returns `March` rather than the JDK ROOT-locale `Mar` abbreviation. NumberFormatter_en.java - English ordinal suffix: covers the 11/12/13 (and 211, 1812, 2011, …) "th" exception via `mod 100 ∈ [11,19]` rather than the previous `>10 && <20` check that mis-tagged 2011 as `2011st`. - Implements full English cardinal and ordinal word spelling (`getCardinalWord(1990)` → `one thousand nine hundred and ninety`, `getOrdinalWord(21)` → `twenty-first`). FnModule.java - Registers the three new XPath/XQuery 4.0 3-arg signatures. XQTS impact (QT4) - fn-format-date: 133 tests, 130 pass, 3 fail (was 132/92/40). - fn-format-time: 88 tests, 73 pass, 15 fail (was 92/52/40); the remaining 12 are XQST0031 caused by the qt4 runner prepending `xquery version "4.0"` to XP31+ tests against an XQ3.1-only branch. - fn-format-dateTime: 92 tests, 84 pass, 8 fail. Commit: e224f0545aa6b1e1d23a280dd885f539a2afd772 https://github.com/eXist-db/exist/commit/e224f0545aa6b1e1d23a280dd885f539a2afd772 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/value/AbstractDateTimeValue.java M exist-core/src/main/java/org/exist/xquery/value/OrderedDurationValue.java M exist-core/src/main/java/org/exist/xquery/value/TimeValue.java M exist-core/src/main/java/org/exist/xquery/value/YearMonthDurationValue.java Log Message: ----------- [bugfix] Fix time arithmetic with FIELD_UNDEFINED year shift Adding a duration to xs:time was producing FODT0001 errors with "year value 2147483647" because OrderedDurationValue.plus runs a legacy "if year < 0, shift one year" hack against the result of gc.add(duration). For xs:time, year/month/day are FIELD_UNDEFINED (Integer.MIN_VALUE), so the shift's setYear(MIN_VALUE - 1) wraps the int to MAX_VALUE, which exceeds 1 billion and forces JAXP to spill into eon — which the new checkYearOverflow guard then correctly flags as out-of-range. Guard the shift against FIELD_UNDEFINED so it only applies when the year is actually defined and negative. xs:date/xs:dateTime are unaffected since they always have a defined year. While here, attach XPTY0004 to the type-mismatch errors thrown by TimeValue.plus, TimeValue.minus, AbstractDateTimeValue.plus, and YearMonthDurationValue.plus, per XPath 3.1 F&O §10.7. This lets QT4 K-TimeAddDTD-1, K-TimeSubtractDTD-2/5, and K2-TimeAddDTD-1 match their expected error. XQTS QT4 results: op-add-dayTimeDuration-to-time: 0/26 -> 24/25 (96.0%) op-subtract-dayTimeDuration-from-time: 1/27 -> 25/26 (96.2%) Remaining failures in those test sets are cbcl-* cases that fail with XQST0031 because the runner prepends "xquery version 4.0" that this XQ3.1 branch does not accept; pre-existing and unrelated. No regressions across 42 date/time test sets. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 71bd411d8ab0c9173c191ae7a217750976dae9e9 https://github.com/eXist-db/exist/commit/71bd411d8ab0c9173c191ae7a217750976dae9e9 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/value/AbstractDateTimeValue.java M exist-core/src/main/java/org/exist/xquery/value/BooleanValue.java M exist-core/src/main/java/org/exist/xquery/value/OrderedDurationValue.java Log Message: ----------- [refactor] Convert to switch expressions per review - AbstractDateTimeValue.getPart: switch expression with arrow syntax - BooleanValue.convertTo: extract default subtype handling to convertToSubtype() method for readability - OrderedDurationValue.plus: switch expression, extract date addition to addDurationToDate() helper - OrderedDurationValue.minus: switch expression, remove dead commented code Co-Authored-By: Claude Opus 4.6 (1M context) <no...@an...> Commit: 59bae165032988ea7659473eb3195efbde9453e6 https://github.com/eXist-db/exist/commit/59bae165032988ea7659473eb3195efbde9453e6 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FnFormatDates.java Log Message: ----------- [refactor] FnFormatDates: extract specifier cases to methods, convert to switch expression Replaces the 600-line switch in formatComponent with a switch expression dispatching to per-specifier helper methods (formatYear, formatMonthOrMinute, formatDayOfMonth, formatDayOfYear, formatWeekOfYear, formatWeekOfMonth, formatDayOfWeek, formatHour24, formatHour12, formatMinute, formatSecond, formatFractionComponent, formatAmPmComponent, formatEra, formatTimezoneComponent). The 'z'/'Z' fall-through is folded into a single helper that emits the optional "GMT" prefix for 'z' and the offset for both. The trivial 'C' case stays inline. Pure structural refactor — zero behavior change. Per reinhapa review on PR #6207. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: d3093411787d3e5c0373b35be83a7570b9f2f7e7 https://github.com/eXist-db/exist/commit/d3093411787d3e5c0373b35be83a7570b9f2f7e7 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/xquery/functions/fn/FnFormatDates.java Log Message: ----------- [refactor] Remove proactive PMD.NPathComplexity suppressions Per the project convention, do not add @SuppressWarnings("PMD.NPathComplexity") annotations proactively. Let the reviewer decide whether to suppress or refactor. Removes the ten annotations across CastExpression, CastableExpression, DynamicAttributeConstructor, EnclosedExpr, FunMax, FunMin, FunNot, Collations, and four methods in FnFormatDates. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: dd983d1b1b3f067f3a024cbfbcdd1887f8a0c959 https://github.com/eXist-db/exist/commit/dd983d1b1b3f067f3a024cbfbcdd1887f8a0c959 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/antlr/org/exist/xquery/parser/XQuery.g M exist-core/src/main/java/org/exist/xquery/FunctionFactory.java Log Message: ----------- [refactor] Address review: switch expression in versionDecl, import FQDN - XQuery.g versionDecl: convert if/else-if chain to switch expression with arrow syntax per reinhapa's review - FunctionFactory.java: add explicit import for FunctionParameterSequenceType, replace 4 FQDN usages with simple class name Co-Authored-By: Claude Opus 4.6 (1M context) <no...@an...> Commit: 237c888e82c91f4896930e01f01f5a7e5972c2bb https://github.com/eXist-db/exist/commit/237c888e82c91f4896930e01f01f5a7e5972c2bb Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/util/serializer/TEXTWriter.java M exist-core/src/main/java/org/exist/util/serializer/XMLWriter.java Log Message: ----------- [refactor] Deduplicate writeCharSeq, document charBuffer thread-sa... [truncated message content] |
|
From: Duncan P. <no...@gi...> - 2026-04-30 16:47:07
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: 5a3fea8e1704f62c280e975a698c17ee96125128 https://github.com/eXist-db/exist/commit/5a3fea8e1704f62c280e975a698c17ee96125128 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/validation/internal/DatabaseResources.java Log Message: ----------- [bugfix] Move DatabaseResources query cleanup into finally block `DatabaseResources.executeQuery()` only invoked `context.runCleanupTasks()` from its catch block, so a successful validation query (the common path) leaked the per-call XQueryContext state -- including any open BinaryValue streams -- until GC. Move the cleanup into a finally block, using the same result-aware predicate as `LocalXPathQueryService` to avoid closing BinaryValues that are part of the result the caller will read. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 9dd85b39e8b3251c69b97592bf3b78bff2cdda4d https://github.com/eXist-db/exist/commit/9dd85b39e8b3251c69b97592bf3b78bff2cdda4d Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/validation/internal/DatabaseResources.java A exist-core/src/test/java/org/exist/validation/internal/DatabaseResourcesTest.java Log Message: ----------- [test] Add DatabaseResources cleanup-on-success regression test Add a JUnit test that registers a sentinel `CleanupTask` on the `XQueryContext` passed to `DatabaseResources.executeQuery`, runs a successful query, and asserts the task fired -- proving cleanup runs on the success path, not just from the catch block. Extract a package-private `executeQuery(XQueryContext, ...)` overload so the test can observe the same context the query executes under. The public overload still creates a fresh context, so production callers are unaffected. The test fails against the previous catch-only cleanup placement ("registered cleanup task must run on the success path") and passes with the finally block introduced in 5a3fea8e17. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 219f0258a7000b21c171818f873f8d08b04d466b https://github.com/eXist-db/exist/commit/219f0258a7000b21c171818f873f8d08b04d466b Author: Duncan Paterson <dun...@us...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/validation/internal/DatabaseResources.java A exist-core/src/test/java/org/exist/validation/internal/DatabaseResourcesTest.java Log Message: ----------- Merge pull request #6282 from joewiz/bugfix/resource-leaks Compare: https://github.com/eXist-db/exist/compare/d292f7cf697a...219f0258a700 To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Duncan P. <no...@gi...> - 2026-04-30 16:45:21
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: 74e7c31a0ce1b5d6cdb03741c527e8e089be855e https://github.com/eXist-db/exist/commit/74e7c31a0ce1b5d6cdb03741c527e8e089be855e Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/collections/MutableCollection.java M exist-core/src/main/java/org/exist/http/servlets/HttpRequestWrapper.java M exist-core/src/main/java/org/exist/source/SourceFactory.java M exist-core/src/main/java/org/exist/storage/BrokerPool.java M exist-core/src/main/java/org/exist/storage/NativeBroker.java M exist-core/src/main/java/org/exist/storage/btree/BTree.java M exist-core/src/main/java/org/exist/storage/btree/Paged.java M exist-core/src/main/java/org/exist/storage/dom/DOMFile.java M exist-core/src/main/java/org/exist/storage/index/BFile.java M exist-core/src/main/java/org/exist/storage/lock/FileLock.java M exist-core/src/main/java/org/exist/storage/statistics/IndexStatisticsWorker.java M exist-core/src/main/java/org/exist/xquery/ModuleContext.java M exist-core/src/main/java/org/exist/xquery/XQueryContext.java M exist-core/src/main/java/org/exist/xquery/functions/response/Stream.java M extensions/indexes/lucene/src/main/java/org/exist/indexing/lucene/LuceneIndexWorker.java Log Message: ----------- [bugfix] Replace silent exception swallowing with proper logging Identified by a Moderne Prethink hotspot scan: production code paths were silently swallowing exceptions or routing them through System.err via printStackTrace(), bypassing the logging framework. In production deployments where stderr is not captured, these stack traces are lost, making incident diagnosis difficult. Changes: - MutableCollection.allDocs (x2): swallowed PermissionDeniedException on recursive sub-collection traversal now logs the skipped collection URI at DEBUG. Behaviour is unchanged (sub-collections without read permission remain filtered from the result), but partial-result situations are now diagnosable. - SourceFactory: 11 silent catch blocks across module source resolution (path/URI fallback chain) now log at DEBUG/TRACE with the contextPath and location. Previously, "module not found" errors gave no clue which lookup steps had been attempted or why each failed. - LuceneIndexWorker.BinarySearchLeafCollector.collect: swallowed PermissionDeniedException during result-collection now logs the dropped document URI at DEBUG. Previously, search hits that the user lacked permission to read were silently dropped with no trace. - printStackTrace -> LOG.error/warn in production code paths: storage: BFile, DOMFile (x3), Paged (x2), BTree (x3), NativeBroker, BrokerPool, FileLock, IndexStatisticsWorker http: HttpRequestWrapper (x2) xquery: XQueryContext, ModuleContext, functions/response/Stream In sites that already had a redundant LOG.warn(e) immediately following printStackTrace(), both calls are collapsed into a single LOG call with a descriptive message. Where IndexStatisticsWorker had no Logger, one is added. Sites intentionally not changed: - CLI tools (Repair) where printStackTrace writes to stderr that the operator expects to see. - ConsistencyCheckTask.error which writes printStackTrace(printWriter) to a captured audit log. - TryCatchExpression / HTTPUtils where printStackTrace(printWriter) is used to render an error-message string for downstream callers. Test plan: - mvn install -pl exist-core -am succeeds - mvn install -pl extensions/indexes/lucene -am succeeds - exist-core full unit test suite passes - All other modules through the reactor pass; only exist-xqts fails with an unrelated GitHub Packages 401 (org.eclipse.emf metadata fetch), which is a pre-existing local-build infrastructure issue. - extensions/indexes/lucene tests in isolation: 659 passed, 0 failed. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: d292f7cf697ad41285b36b409eb26b6477bfbf7f https://github.com/eXist-db/exist/commit/d292f7cf697ad41285b36b409eb26b6477bfbf7f Author: Duncan Paterson <dun...@us...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/collections/MutableCollection.java M exist-core/src/main/java/org/exist/http/servlets/HttpRequestWrapper.java M exist-core/src/main/java/org/exist/source/SourceFactory.java M exist-core/src/main/java/org/exist/storage/BrokerPool.java M exist-core/src/main/java/org/exist/storage/NativeBroker.java M exist-core/src/main/java/org/exist/storage/btree/BTree.java M exist-core/src/main/java/org/exist/storage/btree/Paged.java M exist-core/src/main/java/org/exist/storage/dom/DOMFile.java M exist-core/src/main/java/org/exist/storage/index/BFile.java M exist-core/src/main/java/org/exist/storage/lock/FileLock.java M exist-core/src/main/java/org/exist/storage/statistics/IndexStatisticsWorker.java M exist-core/src/main/java/org/exist/xquery/ModuleContext.java M exist-core/src/main/java/org/exist/xquery/XQueryContext.java M exist-core/src/main/java/org/exist/xquery/functions/response/Stream.java M extensions/indexes/lucene/src/main/java/org/exist/indexing/lucene/LuceneIndexWorker.java Log Message: ----------- Merge pull request #6284 from joewiz/bugfix/error-handling Compare: https://github.com/eXist-db/exist/compare/602d3bbc006b...d292f7cf697a To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Juri L. <no...@gi...> - 2026-04-30 16:13:48
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: c313c837eb144c6e33fedee1e1c39cb1605f9287 https://github.com/eXist-db/exist/commit/c313c837eb144c6e33fedee1e1c39cb1605f9287 Author: duncdrum <d.p...@me...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M .gitignore Log Message: ----------- [ignore] update .gitignore to include moderne configuration - Added .moderne directory to .gitignore while excluding context and moderne.yml files to ensure proper handling of prethink output. Commit: d5b300eed865479ed8b1ad8c8f63f03cf26399f8 https://github.com/eXist-db/exist/commit/d5b300eed865479ed8b1ad8c8f63f03cf26399f8 Author: duncdrum <d.p...@me...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M .github/workflows/prethink.yml Log Message: ----------- [ci] use temurin for prethink consistency Commit: 229c3973f9dcd79a2a3981f46984096204b817dd https://github.com/eXist-db/exist/commit/229c3973f9dcd79a2a3981f46984096204b817dd Author: duncdrum <d.p...@me...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/src/main/java/org/exist/http/filter/PathFilter.java M exist-core/src/main/java/org/exist/source/BinarySource.java M exist-core/src/main/java/org/exist/util/HSort.java M exist-core/src/main/java/org/exist/util/InsertionSort.java M exist-core/src/test/java/org/exist/storage/LowLevelTextTest.java M exist-core/src/test/java/org/exist/util/ConfigurationTest.java M exist-core/src/test/java/org/exist/xmlrpc/QueryResultCacheTest.java M exist-core/src/test/java/org/exist/xquery/AnnotationsTest.java M exist-core/src/test/java/org/exist/xquery/NodeTypeTest.java Log Message: ----------- [ignore] formatting Commit: 6b04019ebdc62d38933e44d5dfedb12a40d64f06 https://github.com/eXist-db/exist/commit/6b04019ebdc62d38933e44d5dfedb12a40d64f06 Author: duncdrum <d.p...@me...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core-jcstress/pom.xml M exist-installer/pom.xml M exist-parent/pom.xml M extensions/expath/pom.xml M extensions/exquery/modules/pom.xml M extensions/exquery/pom.xml M extensions/indexes/pom.xml M extensions/indexes/spatial/pom.xml M extensions/modules/expathrepo/expathrepo-trigger-test/pom.xml M extensions/modules/expathrepo/pom.xml M extensions/modules/persistentlogin/pom.xml M extensions/modules/pom.xml M extensions/pom.xml M extensions/security/pom.xml M extensions/vector/pom.xml M pom.xml Log Message: ----------- [refactor] POM cleanups - Adjusted property references in the exist-installer and other modules to use prefixes. - Cleaned up unused properties. - consistent order of POM elements Commit: 602d3bbc006b44e77fa9a2cecf5afd2be3d23a43 https://github.com/eXist-db/exist/commit/602d3bbc006b44e77fa9a2cecf5afd2be3d23a43 Author: Juri Leino <gi...@li...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M .github/workflows/prethink.yml M .gitignore M exist-core-jcstress/pom.xml M exist-core/src/main/java/org/exist/http/filter/PathFilter.java M exist-core/src/main/java/org/exist/source/BinarySource.java M exist-core/src/main/java/org/exist/util/HSort.java M exist-core/src/main/java/org/exist/util/InsertionSort.java M exist-core/src/test/java/org/exist/storage/LowLevelTextTest.java M exist-core/src/test/java/org/exist/util/ConfigurationTest.java M exist-core/src/test/java/org/exist/xmlrpc/QueryResultCacheTest.java M exist-core/src/test/java/org/exist/xquery/AnnotationsTest.java M exist-core/src/test/java/org/exist/xquery/NodeTypeTest.java M exist-installer/pom.xml M exist-parent/pom.xml M extensions/expath/pom.xml M extensions/exquery/modules/pom.xml M extensions/exquery/pom.xml M extensions/indexes/pom.xml M extensions/indexes/spatial/pom.xml M extensions/modules/expathrepo/expathrepo-trigger-test/pom.xml M extensions/modules/expathrepo/pom.xml M extensions/modules/persistentlogin/pom.xml M extensions/modules/pom.xml M extensions/pom.xml M extensions/security/pom.xml M extensions/vector/pom.xml M pom.xml Log Message: ----------- Merge pull request #6246 from duncdrum/dp-mod-refactor1 Dp mod refactor1 Compare: https://github.com/eXist-db/exist/compare/653b42b9f47c...602d3bbc006b To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Juri L. <no...@gi...> - 2026-04-30 14:41:07
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: a920777b708aea0374b453f9b027a37bb20c1e21 https://github.com/eXist-db/exist/commit/a920777b708aea0374b453f9b027a37bb20c1e21 Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-xqts/src/main/xslt/compare-results.xslt Log Message: ----------- [bugfix] Improve XQTS CI comparison output (gross counts + pass) The XQTS comparison stylesheet's `cr:change/cr:results` element only showed net deltas. Reading "failures: -6" suggested 6 fewer failures, but the underlying reality could be 12 newly failing tests offset by 18 newly passing tests. The breakdown elements were already there under `cr:new` but were never summarized as counts. Per @line-o (#6272), add gross counts and pass tracking: - Add `pass` and `pass-pct` net delta attributes (`pass` is now also emitted on previous/current summaries, derived from tests - skipped - failures - errors). - Add `pass-new`, `skipped-new`, `failures-new`, `errors-new` gross counts of testcases that appear in `cr:new` (i.e. not present in the previous run under the same outcome). - Compute `cr:new` once and reuse for both the gross counts and the emitted detail block, instead of iterating twice. Existing net-delta attributes are preserved for backward compatibility. Closes https://github.com/eXist-db/exist/issues/6272 Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 4d604b63692a070545881fc05f04906f37f3be2b https://github.com/eXist-db/exist/commit/4d604b63692a070545881fc05f04906f37f3be2b Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-xqts/src/main/xslt/compare-results.xslt Log Message: ----------- [bugfix] XQTS comparison: emit absolute pass-pct + pass-pct-delta Address reviewer feedback on PR #6278: the pass-pct attribute under cr:change/cr:results was a relative-change percent of the pass count (delta / previous * 100), which is hard to interpret at a glance. - Add pass-pct (absolute: 100 * pass div tests) to both cr:previous/cr:results and cr:current/cr:results so the pass rate is visible directly on each side of the comparison. - Under cr:change/cr:results, replace pass-pct with pass-pct-delta (current.pass-pct - previous.pass-pct), expressed in percentage points, so the change reflects the shift in pass rate rather than a relative-change percent of the pass count. Co-Authored-By: Claude Opus 4.7 (1M context) <no...@an...> Commit: 653b42b9f47cc6b1c9d17216179cf637a5bf9482 https://github.com/eXist-db/exist/commit/653b42b9f47cc6b1c9d17216179cf637a5bf9482 Author: Juri Leino <gi...@li...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-xqts/src/main/xslt/compare-results.xslt Log Message: ----------- Merge pull request #6278 from joewiz/fix/issue-6272-xqts-comparison-output [bugfix] Improve XQTS CI comparison output with gross counts and pass tracking Compare: https://github.com/eXist-db/exist/compare/c8f2f9d4d52d...653b42b9f47c To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Joe W. <no...@gi...> - 2026-04-30 14:18:27
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: 15c0d4b03b5f9aabba233bfef850725bc8e669fa https://github.com/eXist-db/exist/commit/15c0d4b03b5f9aabba233bfef850725bc8e669fa Author: duncdrum <d.p...@me...> Date: 2026-04-15 (Wed, 15 Apr 2026) Changed paths: A CITATION.cff Log Message: ----------- [enhancement] Add CITATION.cff file close #6243 Commit: 61f2a947efc0725d082b745aedc95cdd810a742d https://github.com/eXist-db/exist/commit/61f2a947efc0725d082b745aedc95cdd810a742d Author: duncdrum <d.p...@me...> Date: 2026-04-15 (Wed, 15 Apr 2026) Changed paths: A .github/workflows/citation-cff.yml M .gitignore M CITATION.cff M exist-parent/pom.xml M pom.xml Log Message: ----------- [enhancement] mavenize citation release metadata and validation workflow - Updated CITATION.cff description - Introduced a new Maven profile for citation release metadata updates. - Added a GitHub Actions workflow to validate the CITATION.cff schema. - Updated .gitignore to exclude temporary files created during the build process. - drop swh Commit: e6200fc0f38aa9995aaecbfb4387d1e71efbf54a https://github.com/eXist-db/exist/commit/e6200fc0f38aa9995aaecbfb4387d1e71efbf54a Author: duncdrum <d.p...@me...> Date: 2026-04-16 (Thu, 16 Apr 2026) Changed paths: M CITATION.cff M README.md Log Message: ----------- [ignore] address review Commit: c8f2f9d4d52d7897b84e293f29aa34aeebf465ac https://github.com/eXist-db/exist/commit/c8f2f9d4d52d7897b84e293f29aa34aeebf465ac Author: Joe Wicentowski <jo...@gm...> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: A .github/workflows/citation-cff.yml M .gitignore A CITATION.cff M README.md M exist-parent/pom.xml M pom.xml Log Message: ----------- Merge pull request #6244 from duncdrum/dp-feat-cit Add Citation.cff and incorporate updates into maven build Compare: https://github.com/eXist-db/exist/compare/0b24d2df7e8b...c8f2f9d4d52d To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: dependabot[bot] <no...@gi...> - 2026-04-30 03:09:58
|
Branch: refs/heads/dependabot/maven/org.apache.james-apache-mime4j-core-0.8.14 Home: https://github.com/eXist-db/exist Commit: 9143efaf96e8f1a6e5159cffcf222f89cf60ef15 https://github.com/eXist-db/exist/commit/9143efaf96e8f1a6e5159cffcf222f89cf60ef15 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M extensions/expath/pom.xml Log Message: ----------- Bump org.apache.james:apache-mime4j-core from 0.8.13 to 0.8.14 Bumps org.apache.james:apache-mime4j-core from 0.8.13 to 0.8.14. --- updated-dependencies: - dependency-name: org.apache.james:apache-mime4j-core dependency-version: 0.8.14 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: dependabot[bot] <no...@gi...> - 2026-04-30 03:07:02
|
Branch: refs/heads/dependabot/maven/org.jline-jansi-4.0.14 Home: https://github.com/eXist-db/exist Commit: 1f0e5af4e5c1b5f860cdaefd28251d9178c9a569 https://github.com/eXist-db/exist/commit/1f0e5af4e5c1b5f860cdaefd28251d9178c9a569 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-parent/pom.xml Log Message: ----------- Bump org.jline:jansi from 4.0.13 to 4.0.14 Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.0.13 to 4.0.14. - [Release notes](https://github.com/jline/jline3/releases) - [Commits](https://github.com/jline/jline3/compare/4.0.13...4.0.14) --- updated-dependencies: - dependency-name: org.jline:jansi dependency-version: 4.0.14 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: dependabot[bot] <no...@gi...> - 2026-04-30 03:04:29
|
Branch: refs/heads/dependabot/maven/org.jline-jline-4.0.14 Home: https://github.com/eXist-db/exist Commit: 78543788ad37b453e1e76811273f0f40deea0803 https://github.com/eXist-db/exist/commit/78543788ad37b453e1e76811273f0f40deea0803 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-30 (Thu, 30 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Bump org.jline:jline from 4.0.13 to 4.0.14 Bumps [org.jline:jline](https://github.com/jline/jline3) from 4.0.13 to 4.0.14. - [Release notes](https://github.com/jline/jline3/releases) - [Commits](https://github.com/jline/jline3/compare/4.0.13...4.0.14) --- updated-dependencies: - dependency-name: org.jline:jline dependency-version: 4.0.14 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Dannes W. <no...@gi...> - 2026-04-29 06:46:03
|
Branch: refs/heads/dependabot/maven/com.fasterxml.jackson.core-jackson-core-2.21.3 Home: https://github.com/eXist-db/exist To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Dannes W. <no...@gi...> - 2026-04-29 06:45:55
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: d087df074962bf4634e1254e23af7c10628824c1 https://github.com/eXist-db/exist/commit/d087df074962bf4634e1254e23af7c10628824c1 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Bump com.fasterxml.jackson.core:jackson-core from 2.21.2 to 2.21.3 Bumps [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) from 2.21.2 to 2.21.3. - [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-core dependency-version: 2.21.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> Commit: 0b24d2df7e8b372c695a8bf7dcec1cc292c314ba https://github.com/eXist-db/exist/commit/0b24d2df7e8b372c695a8bf7dcec1cc292c314ba Author: Dannes Wessels <di...@us...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Merge pull request #6274 from eXist-db/dependabot/maven/com.fasterxml.jackson.core-jackson-core-2.21.3 Bump com.fasterxml.jackson.core:jackson-core from 2.21.2 to 2.21.3 Compare: https://github.com/eXist-db/exist/compare/9bc028e6db42...0b24d2df7e8b To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Dannes W. <no...@gi...> - 2026-04-29 06:45:27
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: cc4c0789a72ce57a72fb4f9b6e73b3b52a46316d https://github.com/eXist-db/exist/commit/cc4c0789a72ce57a72fb4f9b6e73b3b52a46316d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M extensions/vector/pom.xml Log Message: ----------- Bump com.microsoft.onnxruntime:onnxruntime from 1.25.0 to 1.25.1 Bumps [com.microsoft.onnxruntime:onnxruntime](https://github.com/microsoft/onnxruntime) from 1.25.0 to 1.25.1. - [Release notes](https://github.com/microsoft/onnxruntime/releases) - [Changelog](https://github.com/microsoft/onnxruntime/blob/main/docs/ReleaseManagement.md) - [Commits](https://github.com/microsoft/onnxruntime/compare/v1.25.0...v1.25.1) --- updated-dependencies: - dependency-name: com.microsoft.onnxruntime:onnxruntime dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> Commit: 9bc028e6db42895ab26411aaaf778a5cf1cfcb35 https://github.com/eXist-db/exist/commit/9bc028e6db42895ab26411aaaf778a5cf1cfcb35 Author: Dannes Wessels <di...@us...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M extensions/vector/pom.xml Log Message: ----------- Merge pull request #6273 from eXist-db/dependabot/maven/com.microsoft.onnxruntime-onnxruntime-1.25.1 Bump com.microsoft.onnxruntime:onnxruntime from 1.25.0 to 1.25.1 Compare: https://github.com/eXist-db/exist/compare/06bbaac1dedc...9bc028e6db42 To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Dannes W. <no...@gi...> - 2026-04-29 06:45:15
|
Branch: refs/heads/dependabot/maven/com.microsoft.onnxruntime-onnxruntime-1.25.1 Home: https://github.com/eXist-db/exist To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Dannes W. <no...@gi...> - 2026-04-29 06:44:50
|
Branch: refs/heads/dependabot/maven/com.fasterxml.jackson.core-jackson-databind-2.21.3 Home: https://github.com/eXist-db/exist To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Dannes W. <no...@gi...> - 2026-04-29 06:44:48
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: 5017a7bae791558a00fa452cc81df579cdf40a12 https://github.com/eXist-db/exist/commit/5017a7bae791558a00fa452cc81df579cdf40a12 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M extensions/vector/pom.xml Log Message: ----------- Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.21.2 to 2.21.3. - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.21.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> Commit: 06bbaac1dedce94fd2ceb5d846c5a770e3a01634 https://github.com/eXist-db/exist/commit/06bbaac1dedce94fd2ceb5d846c5a770e3a01634 Author: Dannes Wessels <di...@us...> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M extensions/vector/pom.xml Log Message: ----------- Merge pull request #6275 from eXist-db/dependabot/maven/com.fasterxml.jackson.core-jackson-databind-2.21.3 Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 Compare: https://github.com/eXist-db/exist/compare/f49aef1d5a0c...06bbaac1dedc To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: dependabot[bot] <no...@gi...> - 2026-04-29 03:06:51
|
Branch: refs/heads/dependabot/maven/com.fasterxml.jackson.core-jackson-databind-2.21.3 Home: https://github.com/eXist-db/exist Commit: 5017a7bae791558a00fa452cc81df579cdf40a12 https://github.com/eXist-db/exist/commit/5017a7bae791558a00fa452cc81df579cdf40a12 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M extensions/vector/pom.xml Log Message: ----------- Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 Bumps [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) from 2.21.2 to 2.21.3. - [Commits](https://github.com/FasterXML/jackson/commits) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-databind dependency-version: 2.21.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: dependabot[bot] <no...@gi...> - 2026-04-29 03:05:47
|
Branch: refs/heads/dependabot/maven/com.fasterxml.jackson.core-jackson-core-2.21.3 Home: https://github.com/eXist-db/exist Commit: d087df074962bf4634e1254e23af7c10628824c1 https://github.com/eXist-db/exist/commit/d087df074962bf4634e1254e23af7c10628824c1 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Bump com.fasterxml.jackson.core:jackson-core from 2.21.2 to 2.21.3 Bumps [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) from 2.21.2 to 2.21.3. - [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3) --- updated-dependencies: - dependency-name: com.fasterxml.jackson.core:jackson-core dependency-version: 2.21.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: dependabot[bot] <no...@gi...> - 2026-04-29 03:04:50
|
Branch: refs/heads/dependabot/maven/com.microsoft.onnxruntime-onnxruntime-1.25.1 Home: https://github.com/eXist-db/exist Commit: cc4c0789a72ce57a72fb4f9b6e73b3b52a46316d https://github.com/eXist-db/exist/commit/cc4c0789a72ce57a72fb4f9b6e73b3b52a46316d Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-29 (Wed, 29 Apr 2026) Changed paths: M extensions/vector/pom.xml Log Message: ----------- Bump com.microsoft.onnxruntime:onnxruntime from 1.25.0 to 1.25.1 Bumps [com.microsoft.onnxruntime:onnxruntime](https://github.com/microsoft/onnxruntime) from 1.25.0 to 1.25.1. - [Release notes](https://github.com/microsoft/onnxruntime/releases) - [Changelog](https://github.com/microsoft/onnxruntime/blob/main/docs/ReleaseManagement.md) - [Commits](https://github.com/microsoft/onnxruntime/compare/v1.25.0...v1.25.1) --- updated-dependencies: - dependency-name: com.microsoft.onnxruntime:onnxruntime dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Duncan P. <no...@gi...> - 2026-04-28 08:57:22
|
Branch: refs/heads/dependabot/maven/org.apache.mina-mina-core-2.2.6 Home: https://github.com/eXist-db/exist To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Duncan P. <no...@gi...> - 2026-04-28 08:57:12
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: da194b366f0afe990a832f2234d437e66ff109a2 https://github.com/eXist-db/exist/commit/da194b366f0afe990a832f2234d437e66ff109a2 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Bump org.apache.mina:mina-core from 2.2.5 to 2.2.6 Bumps [org.apache.mina:mina-core](https://github.com/apache/mina) from 2.2.5 to 2.2.6. - [Commits](https://github.com/apache/mina/compare/2.2.5...2.2.6) --- updated-dependencies: - dependency-name: org.apache.mina:mina-core dependency-version: 2.2.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> Commit: f49aef1d5a0c17c0f0e0f541815843452f697e05 https://github.com/eXist-db/exist/commit/f49aef1d5a0c17c0f0e0f541815843452f697e05 Author: Duncan Paterson <dun...@us...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Merge pull request #6269 from eXist-db/dependabot/maven/org.apache.mina-mina-core-2.2.6 Bump org.apache.mina:mina-core from 2.2.5 to 2.2.6 Compare: https://github.com/eXist-db/exist/compare/c06457642604...f49aef1d5a0c To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Juri L. <no...@gi...> - 2026-04-28 07:48:04
|
Branch: refs/heads/dependabot/maven/org.jline-jansi-4.0.13 Home: https://github.com/eXist-db/exist To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Juri L. <no...@gi...> - 2026-04-28 07:47:59
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: 5d90151aeba50f38b1b33119795e4b2c92960450 https://github.com/eXist-db/exist/commit/5d90151aeba50f38b1b33119795e4b2c92960450 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-parent/pom.xml Log Message: ----------- Bump org.jline:jansi from 4.0.12 to 4.0.13 Bumps [org.jline:jansi](https://github.com/jline/jline3) from 4.0.12 to 4.0.13. - [Release notes](https://github.com/jline/jline3/releases) - [Commits](https://github.com/jline/jline3/compare/4.0.12...4.0.13) --- updated-dependencies: - dependency-name: org.jline:jansi dependency-version: 4.0.13 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> Commit: c06457642604fac4ebabcfc0f93e58ca48cd733d https://github.com/eXist-db/exist/commit/c06457642604fac4ebabcfc0f93e58ca48cd733d Author: Juri Leino <gi...@li...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-parent/pom.xml Log Message: ----------- Merge pull request #6271 from eXist-db/dependabot/maven/org.jline-jansi-4.0.13 Bump org.jline:jansi from 4.0.12 to 4.0.13 Compare: https://github.com/eXist-db/exist/compare/a5b37d46bed9...c06457642604 To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Duncan P. <no...@gi...> - 2026-04-28 07:31:25
|
Branch: refs/heads/develop Home: https://github.com/eXist-db/exist Commit: fdb6359d727c3849728965026bcbd3284f0bedae https://github.com/eXist-db/exist/commit/fdb6359d727c3849728965026bcbd3284f0bedae Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Bump org.jline:jline from 4.0.12 to 4.0.13 Bumps [org.jline:jline](https://github.com/jline/jline3) from 4.0.12 to 4.0.13. - [Release notes](https://github.com/jline/jline3/releases) - [Commits](https://github.com/jline/jline3/compare/4.0.12...4.0.13) --- updated-dependencies: - dependency-name: org.jline:jline dependency-version: 4.0.13 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <su...@gi...> Commit: a5b37d46bed9053abba878802fea42b7c9ea8421 https://github.com/eXist-db/exist/commit/a5b37d46bed9053abba878802fea42b7c9ea8421 Author: Duncan Paterson <dun...@us...> Date: 2026-04-28 (Tue, 28 Apr 2026) Changed paths: M exist-core/pom.xml Log Message: ----------- Merge pull request #6270 from eXist-db/dependabot/maven/org.jline-jline-4.0.13 Bump org.jline:jline from 4.0.12 to 4.0.13 Compare: https://github.com/eXist-db/exist/compare/d905049b500e...a5b37d46bed9 To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |
|
From: Duncan P. <no...@gi...> - 2026-04-28 07:31:20
|
Branch: refs/heads/dependabot/maven/org.jline-jline-4.0.13 Home: https://github.com/eXist-db/exist To unsubscribe from these emails, change your notification settings at https://github.com/eXist-db/exist/settings/notifications |