Stages & jobs

  1. Build and Package

Code commits

Openfire (master)

  • Guus der Kinderen

    Guus der Kinderen 3079adc86df1a3ba20fb615722b65c23d56afdd9

    OF-3136: Remove deprecated code
    This removes code that has been marked for removal in version 5.1.0 of Openfire, in addition to earlier removals done in commit a8ee1b6dc9045fe6f0b64bc893335eb0f07e1a9b

    IQMuclumbusSearchHandler was unmarked for immediate removal, as its only known user (search.jabber.network) is still using it.

    • i18n/src/main/resources/openfire_i18n.properties (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/java/org/jivesoftware/admin/AuthCheckFilter.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMuclumbusSearchHandler.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/session/LocalClientSession.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/user/AuthorizationBasedUserProviderMapper.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/user/PropertyBasedUserProviderMapper.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/user/UserMultiProvider.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/main/webapp/system-admin-console-access.jsp (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/test/java/org/jivesoftware/admin/AuthCheckFilterTest.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/test/java/org/jivesoftware/openfire/muc/HistoryStrategyTest.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
    • xmppserver/src/test/java/org/jivesoftware/openfire/session/LocalClientSessionTest.java (version 3079adc86df1a3ba20fb615722b65c23d56afdd9)
  • Guus der Kinderen

    Guus der Kinderen 9050981d2e22e42bfb541d472a6a352135c198c7

    OF-3119: Use longer resolution delay on macOS to reduce test flakiness

    • xmppserver/src/test/java/org/jivesoftware/openfire/net/HappyEyeballsResolverTest.java (version 9050981d2e22e42bfb541d472a6a352135c198c7)
  • Guus der Kinderen

    Guus der Kinderen 64729262bea9915289936331ee507d86a78dc479

    ci: replace sleep-based synchronization with deterministic wait in ArchiverTest
    testArchiverInDistinctBatchesWhenOutsideGrace used Thread.sleep() to ensure the archiver had flushed the first item before submitting the second. This relied on the OS thread scheduler waking the archiver thread within the sleep window, which holds on Linux but not on macOS due to differences in thread scheduling behavior between the two platforms.

    Replace the sleep with the existing waitUntilArchivingIsDone() helper, which polls until the first item is confirmed stored before archiving the second. This makes the test deterministic regardless of platform or scheduler behavior.

    • xmppserver/src/test/java/org/jivesoftware/openfire/archive/ArchiverTest.java (version 64729262bea9915289936331ee507d86a78dc479)
  • Guus der Kinderen

    Guus der Kinderen def1742bb0cb523366b671a0d2a82a50661f13b0

    OF-3210: Removed unused JNDI property
    This wasn't used in modern versions of Java, and got removed in Java 25.

    • xmppserver/src/main/java/org/jivesoftware/database/JNDIDataSourceProvider.java (version def1742bb0cb523366b671a0d2a82a50661f13b0)
  • Guus der Kinderen

    Guus der Kinderen d339a41a93b5b0dcc8ba3248f9f83bcbc6c3d885

    CI: Add Java 25
    Java 25 is a long-term support release (September 2025). This makes it likely that users will use it to run Openfire. It should therefor be added to our integration test matrix.

    • .github/workflows/continuous-integration-workflow.yml (version d339a41a93b5b0dcc8ba3248f9f83bcbc6c3d885)
  • copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

    copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> ddfc5252b879c76e93c0ed5684e64221cdf47587

    fix(pubsub): always update lastPublished when same item is overwritten (XEP-0060 §7.1.2)
    Root cause of PubSubExtIntegrationTest failure:
    setLastPublishedItem() only updated the in-memory lastPublished cache
    when the new item's creation date was *strictly after* the existing one.
    When a publisher re-publishes an item with the same ItemID in rapid
    succession (within the same millisecond, common in integration tests),
    both items share the same CacheFactory.getClusterTime() value.
    The after() check returns false, so lastPublished is NOT updated.
    The persistence layer correctly performs an SQL UPDATE, but
    getPublishedItem() short-circuits by returning the stale in-memory
    lastPublished instead of going to the database, causing the test
    assertion ("item equals first, not second") to fail.

    Fix: add a third update condition — always update when the incoming
    item has the same unique identifier (same node + same ItemID) as the
    current lastPublished. Overwrites are always reflected in the cache
    regardless of timestamp resolution.

    Adds 3 regression tests in LeafNodeTest covering same-ID/same-time
    overwrite, same-time different-ID non-overwrite, and newer-time
    different-ID update.

    Co-authored-by: akrherz <210858+akrherz@users.noreply.github.com>

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version ddfc5252b879c76e93c0ed5684e64221cdf47587)
    • xmppserver/src/test/java/org/jivesoftware/openfire/pubsub/LeafNodeTest.java (version ddfc5252b879c76e93c0ed5684e64221cdf47587)