| 7e35897a | 06-Mar-2026 |
Tobias Bengfort <tobias.bengfort@posteo.de> |
a11y: move picker after the relevant button |
| 3051e003 | 06-Mar-2026 |
Tobias Bengfort <tobias.bengfort@posteo.de> |
fix: set aria-hidden in pickerClose() |
| 882968ae | 12-Apr-2026 |
Tobias Bengfort <tobias.bengfort@posteo.de> |
pagetools: reuse variables for calculations |
| 522a66bb | 06-Mar-2026 |
Tobias Bengfort <tobias.bengfort@posteo.de> |
pagetools responsive size |
| 051d1487 | 12-Apr-2026 |
splitbrain <86426+splitbrain@users.noreply.github.com> |
Update deleted files |
| 10b4c161 | 06-Mar-2026 |
Tobias Bengfort <tobias.bengfort@posteo.de> |
replace size control icons by svg |
| bfc167db | 11-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
Limit namespace depth in io_createNamespace() #4613
Throw a RuntimeException when the given ID contains 128 or more colon-separated segments, preventing creation of excessively deep directory hierar
Limit namespace depth in io_createNamespace() #4613
Throw a RuntimeException when the given ID contains 128 or more colon-separated segments, preventing creation of excessively deep directory hierarchies.
show more ...
|
| 743a6908 | 11-Apr-2026 |
splitbrain <86426+splitbrain@users.noreply.github.com> |
Rector and PHPCS fixes |
| 894c1577 | 11-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
skip strict types rector
even though this rule only adds strict type checking for classes that already are fully typed, I am a bit hesitant to add the strict type declaration yet. maybe later |
| 867da04d | 11-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
Less ubiquitous feed caching. addresses #4574
Instead of creating caches for each and every requested feed, only the recent feed is still cached.
The number of items is clamped to conf[recent]*5.
Less ubiquitous feed caching. addresses #4574
Instead of creating caches for each and every requested feed, only the recent feed is still cached.
The number of items is clamped to conf[recent]*5.
Plugins can influence the caching behavior via the existing FEED_OPTS_POSTPROCESS event by setting cache_allow to true and optionally adding their own cache key in cache_key
Additionally the per-namespace feed autodiscovery link from <head> pointing to list-mode feeds has been removed.
show more ...
|
| f88cbbf8 | 11-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
Move copy button base styles to lib/styles for template independence
The copy-to-clipboard button positioning was only defined in the dokuwiki template's content.less, leaving third-party templates
Move copy button base styles to lib/styles for template independence
The copy-to-clipboard button positioning was only defined in the dokuwiki template's content.less, leaving third-party templates with an unstyled button. Move the minimal positioning rules (relative container, absolute button, RTL flip) into lib/styles/screen.css so every template gets a usable default. The dokuwiki template keeps only its opacity hover behavior.
show more ...
|
| f6d39a6d | 01-Dec-2025 |
Andreas Gohr <gohr@cosmocode.de> |
do not wrap code blocks for copybutton #4534 |
| b7c3b74a | 02-Oct-2025 |
Anna Dabrowska <dabrowska@cosmocode.de> |
Add copy-to-clipboard functionality to code blocks |
| a896ec97 | 11-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
updated phpseclib |
| 1faca9e7 | 10-Apr-2026 |
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
Bump phpseclib/phpseclib from 3.0.50 to 3.0.51
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.50 to 3.0.51. - [Release notes](https://github.com/phpseclib/phpseclib/rel
Bump phpseclib/phpseclib from 3.0.50 to 3.0.51
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.50 to 3.0.51. - [Release notes](https://github.com/phpseclib/phpseclib/releases) - [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md) - [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.50...3.0.51)
--- updated-dependencies: - dependency-name: phpseclib/phpseclib dependency-version: 3.0.51 dependency-type: direct:production ...
Signed-off-by: dependabot[bot] <support@github.com>
show more ...
|
| 7383ed40 | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
Replace deprecated idx_addPage/ft_backlinks calls in ApiCoreTest
Use Indexer::addPage() and MetadataSearch::backlinks() directly. |
| b188a75b | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: fix IntegrityTest not re-indexing between tests
The .indexed metadata tag persisted between test methods, causing needsIndexing() to skip re-indexing when saveWikiText() didn't update t
SearchIndex: fix IntegrityTest not re-indexing between tests
The .indexed metadata tag persisted between test methods, causing needsIndexing() to skip re-indexing when saveWikiText() didn't update the wiki file (identical content). Clean the tag in setUp.
show more ...
|
| 06053dca | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: remove write side effect from retrieveRow()
retrieveRow() padded the index file when the requested RID was beyond the current length. This was an optimization for subsequent changeRow()
SearchIndex: remove write side effect from retrieveRow()
retrieveRow() padded the index file when the requested RID was beyond the current length. This was an optimization for subsequent changeRow() calls, but changeRow() already handles padding on its own. The side effect was also inconsistent with retrieveRows() which is a pure read.
Added a cross-index integration test verifying RID consistency across entity, token, frequency and reverse indexes when multiple entities share tokens.
show more ...
|
| 1e5f7f1f | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
Manifest: add UTF-8 to entity decoding
As recommended in the PHP manual |
| 6beb5edc | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
add gzfile_get_contents() to handle multi-stream gz and corruption
The initial gzdecode() fix only decoded the first gzip stream, breaking append mode where gzopen() creates concatenated streams.
R
add gzfile_get_contents() to handle multi-stream gz and corruption
The initial gzdecode() fix only decoded the first gzip stream, breaking append mode where gzopen() creates concatenated streams.
Replace with a chunk-based reader using inflate_* functions that loops through all streams and still correctly detects corrupt data.
show more ...
|
| 3b335c64 | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
use gzdecode instead of gzfile to work around PHP 8.5.3+ regression
gzfile() no longer detects corrupt gzip data due to a bug in PHP's zlib stream wrapper (php/php-src#21376). Using file_get_content
use gzdecode instead of gzfile to work around PHP 8.5.3+ regression
gzfile() no longer detects corrupt gzip data due to a bug in PHP's zlib stream wrapper (php/php-src#21376). Using file_get_contents() with gzdecode() avoids the stream wrapper and correctly returns false for corrupt files.
show more ...
|
| b2c5d210 | 10-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
updated dependencies (core and test)
Using our own php-ixr fork until the following PRs are merged upstream:
https://github.com/kissifrot/php-ixr/pull/13 https://github.com/kissifrot/php-ixr/pull/14 |
| c553d38d | 08-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: fix TypeError when $QUERY global is null
QueryParser::convert() requires a string argument, but the global $QUERY can be null. Coalesce to empty string to match prior behavior. |
| 9313ce6d | 08-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: fix TypeError when $highlight is passed uninitialized
FulltextSearch::pageSearch() type-hints $highlight as array, but callers passed uninitialized variables (null). Initialize to [] at
SearchIndex: fix TypeError when $highlight is passed uninitialized
FulltextSearch::pageSearch() type-hints $highlight as array, but callers passed uninitialized variables (null). Initialize to [] at all call sites and add a guard in the deprecated ft_pageSearch() wrapper.
show more ...
|
| 5d034a75 | 08-Apr-2026 |
Andreas Gohr <andi@splitbrain.org> |
SearchIndex: increase index version |