Skip to content

Bump monolog/monolog from 2.11.0 to 3.10.0 - #23

Closed
dependabot[bot] wants to merge 61 commits into
mainfrom
dependabot/composer/monolog/monolog-3.10.0
Closed

Bump monolog/monolog from 2.11.0 to 3.10.0#23
dependabot[bot] wants to merge 61 commits into
mainfrom
dependabot/composer/monolog/monolog-3.10.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 9, 2026

Copy link
Copy Markdown
Contributor

Bumps monolog/monolog from 2.11.0 to 3.10.0.

Release notes

Sourced from monolog/monolog's releases.

3.10.0

  • Added automatic directory cleanup in RotatingFileHandler (#2000)
  • Added timezone-aware file rotation to RotatingFileHandler (#1982)
  • Added support for mongodb/mongodb 2.0+ (#1998)
  • Added NoDiscard attribute to TestHandler methods to ensure the result is used (#2013)
  • Fixed JsonFormatter crashing if __toString throws while normalizing data (#1968)
  • Fixed PHP 8.5 deprecation warnings (#1997, #2009)
  • Fixed DeduplicatingHandler collecting duplicate logs if the file cannot be locked (2e97231)
  • Fixed GelfMessageFormatter to use integers instead of bool for gelf 1.1 support (#1973)
  • Fixed empty stack traces being output anyway (#1979)
  • Fixed StreamHandler not reopening the file if the inode changed (#1963)
  • Fixed TelegramBotHandler sending empty messages (#1992)
  • Fixed file paths in stack traces containing backslashes on windows, always using / now to unify logs (#1980)
  • Fixed RotatingFileHandler unlink errors not being suppressed correctly (#1999)

Full Changelog: Seldaek/monolog@3.9.0...3.10.0

3.9.0

  • BC Warning: Fixed SendGridHandler to use the V3 API as V2 is now shut down, but this requires a new API key (#1952)
  • Deprecated Monolog\Test\TestCase in favor of Monolog\Test\MonologTestCase (#1953)
  • Added extension point for NativeMailerHandler::mail (#1948)
  • Added setHandler method to BufferHandler to modify the nested handler at runtime (#1946)
  • Fixed date format in ElasticsearchFormatter to use +00:00 vs +0000 tz identifiers (#1942)
  • Fixed GelfMessageFormatter handling numeric context/extra keys (#1932)

Full Changelog: Seldaek/monolog@3.8.1...3.9.0

3.8.1

  • Deprecated Monolog\DateTimeImmutable in favor of Monolog\JsonSerializableDateTimeImmutable (#1928)
  • Fixed gelf keys not being valid when context/extra data keys have spaces in them (#1927)
  • Fixed empty lines appearing in the stack traces when a custom formatter returned null (#1925)

Full Changelog: Seldaek/monolog@3.8.0...3.8.1

3.8.0

  • Added $fileOpenMode param to StreamHandler to define a custom fopen mode to open the log file (#1913)
  • Fixed PHP 8.4 deprecation notices (#1903)
  • Added ability to extend/override IntrospectionProcessor (#1899)
  • Added $timeout param to ProcessHandler to configure the stream_select() timeout to avoid blocking too long (default is 1.0 sec) (#1916)
  • Fixed JsonFormatter batch handling to normalize records individually to make sure they look the same as if they were handled one by one - this leads to JsonFormatter::normalizeRecord now possibly returning stdClass instances instead of [] for empty context/extra data which may cause issues if you extend normalizeRecord, see Seldaek/monolog#1906 (#1906)
  • Fixed StreamHandler handling of write failures so that it now closes/reopens the stream and retries the write once before failing (#1882)
  • Fixed StreamHandler error handler causing issues if a stream handler triggers an error (#1866)
  • Fixed StreamHandler::reset not closing the stream, so that it would fail to write in some cases with long running processes (#1862)
  • Fixed RotatingFileHandler issue where rotation does not happen in some long running processes (#1905)
  • Fixed JsonFormatter handling of incomplete classes (#1834)
  • Fixed RotatingFileHandler bug where rotation could sometimes not happen correctly (#1905)

Full Changelog: Seldaek/monolog@3.7.0...3.8.0

3.7.0

... (truncated)

Changelog

Sourced from monolog/monolog's changelog.

3.10.0 (2026-01-02)

  • Added automatic directory cleanup in RotatingFileHandler (#2000)
  • Added timezone-aware file rotation to RotatingFileHandler (#1982)
  • Added support for mongodb/mongodb 2.0+ (#1998)
  • Added NoDiscard attribute to TestHandler methods to ensure the result is used (#2013)
  • Fixed JsonFormatter crashing if __toString throws while normalizing data (#1968)
  • Fixed PHP 8.5 deprecation warnings (#1997, #2009)
  • Fixed DeduplicatingHandler collecting duplicate logs if the file cannot be locked (2e97231)
  • Fixed GelfMessageFormatter to use integers instead of bool for gelf 1.1 support (#1973)
  • Fixed empty stack traces being output anyway (#1979)
  • Fixed StreamHandler not reopening the file if the inode changed (#1963)
  • Fixed TelegramBotHandler sending empty messages (#1992)
  • Fixed file paths in stack traces containing backslashes on windows, always using / now to unify logs (#1980)
  • Fixed RotatingFileHandler unlink errors not being suppressed correctly (#1999)

3.9.0 (2025-03-24)

  • BC Warning: Fixed SendGridHandler to use the V3 API as V2 is now shut down, but this requires a new API key (#1952)
  • Deprecated Monolog\Test\TestCase in favor of Monolog\Test\MonologTestCase (#1953)
  • Added extension point for NativeMailerHandler::mail (#1948)
  • Added setHandler method to BufferHandler to modify the nested handler at runtime (#1946)
  • Fixed date format in ElasticsearchFormatter to use +00:00 vs +0000 tz identifiers (#1942)
  • Fixed GelfMessageFormatter handling numeric context/extra keys (#1932)

3.8.1 (2024-12-05)

  • Deprecated Monolog\DateTimeImmutable in favor of Monolog\JsonSerializableDateTimeImmutable (#1928)
  • Fixed gelf keys not being valid when context/extra data keys have spaces in them (#1927)
  • Fixed empty lines appearing in the stack traces when a custom formatter returned null (#1925)

3.8.0 (2024-11-12)

  • Added $fileOpenMode param to StreamHandler to define a custom fopen mode to open the log file (#1913)
  • Fixed PHP 8.4 deprecation notices (#1903)
  • Added ability to extend/override IntrospectionProcessor (#1899)
  • Added $timeout param to ProcessHandler to configure the stream_select() timeout to avoid blocking too long (default is 1.0 sec) (#1916)
  • Fixed JsonFormatter batch handling to normalize records individually to make sure they look the same as if they were handled one by one (#1906)
  • Fixed StreamHandler handling of write failures so that it now closes/reopens the stream and retries the write once before failing (#1882)
  • Fixed StreamHandler error handler causing issues if a stream handler triggers an error (#1866)
  • Fixed StreamHandler::reset not closing the stream, so that it would fail to write in some cases with long running processes (#1862)
  • Fixed RotatingFileHandler issue where rotation does not happen in some long running processes (#1905)
  • Fixed JsonFormatter handling of incomplete classes (#1834)
  • Fixed RotatingFileHandler bug where rotation could sometimes not happen correctly (#1905)

3.7.0 (2024-06-28)

  • Added NormalizerFormatter->setBasePath(...) (and JsonFormatter by extension) that allows removing the project's path from the stack trace output (47e301d3e)
  • Fixed JsonFormatter handling of incomplete classes (#1834)
  • Fixed private error handlers causing problems with custom StreamHandler implementations (#1866)

... (truncated)

Upgrade guide

Sourced from monolog/monolog's upgrade guide.

4.0.0

Overall / notable changes:

  • Monolog\DateTimeImmutable has been removed in favor of Monolog\JsonSerializableDateTimeImmutable.

3.0.0

Overall / notable changes:

  • The minimum supported PHP version is now 8.1.0.
  • Monolog\Logger::API can be used to distinguish between a Monolog 3, 2 or 1 install when writing integration code.
  • Log records have been converted from an array to a Monolog\LogRecord object with public (and mostly readonly) properties. e.g. instead of doing $record['context'] use $record->context. In formatters or handlers if you rather need an array to work with you can use $record->toArray() to get back a Monolog 1/2 style record array. This will contain the enum values instead of enum cases in the level and level_name keys to be more backwards compatible and use simpler data types.
  • FormatterInterface, HandlerInterface, ProcessorInterface, etc. changed to contain LogRecord $record instead of array $record parameter types. If you want to support multiple Monolog versions this should be possible by type-hinting nothing, or array|LogRecord if you support PHP 8.0+. You can then code against the $record using Monolog 2 style as LogRecord implements ArrayAccess for BC. The interfaces do not require a LogRecord return type even where it would be applicable, but if you only support Monolog 3 in integration code I would recommend you use LogRecord return types wherever fitting to ensure forward compatibility as it may be added in Monolog 4.
  • Log levels are now stored as an enum Monolog\Level
  • All properties have had types added, which may require you to do so as well if you extended a Monolog class and declared the same property.

Logger

  • Logger::DEBUG, Logger::ERROR, etc. are now deprecated in favor of the Level enum. e.g. instead of Logger::WARNING use Level::Warning if you need to pass the enum case to Monolog or one of its handlers, or Level::Warning->value if you need the integer value equal to what Logger::WARNING was giving you.
  • Logger::$levels has been removed.
  • Logger::getLevels has been removed in favor of Monolog\Level::VALUES or Monolog\Level::cases().
  • setExceptionHandler now requires a Closure instance and not just any callable.

HtmlFormatter

  • If you redefined colors in the $logLevels property you must now override the getLevelColor method instead.

NormalizerFormatter

  • A new normalizeRecord method is available as an extension point which is called only when converting the LogRecord to an array. You may need this if you overrode format previously as parent::format now needs to receive a LogRecord still

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

WentTheFox and others added 30 commits May 19, 2025 21:28
App fixes:
- Cookie: strip port from HTTP_HOST in cookie domain (RFC 6265; broken
  cookie acceptance in Playwright and curl)
- CGUtils: short-circuit isElasticAvailable() in TEST_MODE to avoid 5s
  connection timeout per page load
- Appearance: skip updateIndex/clearIndex ES calls in TEST_MODE
- CoreUtils: omit ws_server_host from Twig scope in TEST_MODE so the
  socket.io script tag is not rendered (prevented networkidle)
- websocket.js: fix setupDegradedMode() referencing undefined $sidebar
- Appearances.php: guard WHERE id NOT IN () when pinned list is empty
- Event: null-safe getEntryRoleName() fallback and getWinnerHTML() guard
- activerecord.php: route to TEST_DB_NAME when TEST_MODE=true

Test infrastructure:
- reset-test-db.sh: reset PG sequences after seeding so new rows don't
  collide with explicitly-seeded IDs
- Browser/Pest.php: reset test DB in beforeAll hook for clean state
- Correct test URLs (/show, /users/, /account) and assertion values

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Decouples test selectors from CSS classes and form attribute values,
following Playwright's getByTestId() convention. Dialog buttons get
auto-derived testids from their label (dialog-btn-save, etc.), with
explicit overrides for confirm/cancel (dialog-btn-confirm/-cancel)
regardless of display text ("Eeyup"/"Nope").

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add pnpm-workspace.yaml with a 14-day minimumReleaseAge, update CI
and the deploy post-receive hook to use pnpm, pin GitHub Actions to
commit SHAs, and add Dependabot for npm/composer/actions updates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fixes CI failure caused by pnpm/action-setup picking a pnpm version
that doesn't match the lockfile (generated with pnpm 11.5.1).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
eslint.config.js imports @eslint/js directly, but it was only a
transitive dependency of eslint. npm's hoisting masked this; pnpm's
strict node_modules layout does not, causing ESLint to fail with
ERR_MODULE_NOT_FOUND.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
WentTheFox and others added 22 commits June 14, 2026 15:46
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The React rewrite of $.Dialog wraps each content block's markup in an
extra container div, so form elements are no longer a direct child of
the #dialogContent content block. Loosen the selector from a direct
child to a descendant so the spacing rules apply again.
The React rewrite of $.Dialog dropped the old jQuery implementation's
behavior of appending new content below the existing dialog content
(with a visual separator) when a dialog is already open, instead
always replacing it. Re-introduce this by tracking a history array of
content blocks: each non-appending-to-request call while a dialog is
open pushes a new block, updates the title (if provided), color, and
buttons, while previous blocks remain visible.
CoreUtils::generateApiSchema() still listed source paths for controllers
that were deleted/moved during the API controller refactor, causing
Symfony Finder to throw on missing directories. Also restores a 404
response annotation on PUT /event/{id} that was dropped during the move.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Missing comma after security={} caused a Doctrine annotation parse
error, silently dropping /about/upcoming from the generated schema.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@49933ea...8207627)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.3.1 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@34e1148...3d3c42e)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…actions/checkout-7.0.1

Bump actions/checkout from 4.3.1 to 7.0.1
…actions/setup-node-7.0.0

Bump actions/setup-node from 4.4.0 to 7.0.0
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 6.0.8 to 6.0.9.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](pnpm/action-setup@0e279bb...0ebf471)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: 6.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…pnpm/action-setup-6.0.9

Bump pnpm/action-setup from 6.0.8 to 6.0.9
Move restcord/restcord to the v9 dev branch (pinned to a specific
commit) so guzzlehttp/guzzle can update to 7.x - every 6.x release is
now flagged by composer's advisory audit and by roave/security-advisories.

The v9 branch's DiscordClient defaults 'logger' to null while typing it
as non-nullable, and its service description lacks responseTypes for
getGuildMember, so the SDK now returns a raw array-access Result
instead of a typed model with auto-cast DateTimeImmutable fields.
Adjusted DiscordMember::checkServerMembership() accordingly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
DeviantArt moved app authorization management under Security and
privacy settings; update the URL and pass it to the template directly
instead of via a Twig constant() lookup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@ea165f8...043fb46)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…ctions/upload-artifact-7.0.1

Bump actions/upload-artifact from 4.6.2 to 7.0.1
The picker frame page never loaded the react lib, but dialog.jsx (used
for every dialog on that page, including the file-open and
paste-from-clipboard flows) calls ReactDOM.createRoot() at load time.
That threw a ReferenceError which left $.Dialog permanently undefined,
silently breaking both "Open..." and "Open from Clipboard..." with no
visible error to the user.

Also make the ElasticSearch client timeouts configurable via env vars
so the browser test suite doesn't hang for 15s+ per request when ES
is unreachable in the test environment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
'dialog' depends on ReactDOM at module load time, but pages that opt
out of default-libs (like picker-frame) had to remember to add react
by hand -- exactly the mistake that broke picker-frame's dialogs.
CoreUtils::loadPage now forces react into the resolved libs whenever
'dialog' is requested, so this can't silently regress on future pages.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Bumps [monolog/monolog](https://github.com/Seldaek/monolog) from 2.11.0 to 3.10.0.
- [Release notes](https://github.com/Seldaek/monolog/releases)
- [Changelog](https://github.com/Seldaek/monolog/blob/main/CHANGELOG.md)
- [Upgrade guide](https://github.com/Seldaek/monolog/blob/main/UPGRADE.md)
- [Commits](Seldaek/monolog@2.11.0...3.10.0)

---
updated-dependencies:
- dependency-name: monolog/monolog
  dependency-version: 3.10.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file php Pull requests that update php code labels Aug 9, 2026
@WentTheFox WentTheFox closed this Aug 27, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/composer/monolog/monolog-3.10.0 branch August 27, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file php Pull requests that update php code

Development

Successfully merging this pull request may close these issues.

1 participant