Skip to content

New version of hanami (3.0.0) produced dependency conflicts - #37

Closed
depfu[bot] wants to merge 1 commit into
masterfrom
depfu/update/hanami-3.0.0
Closed

New version of hanami (3.0.0) produced dependency conflicts#37
depfu[bot] wants to merge 1 commit into
masterfrom
depfu/update/hanami-3.0.0

Conversation

@depfu

@depfu depfu Bot commented Jul 2, 2026

Copy link
Copy Markdown

Welcome to Depfu 👋

This is one of the first three pull requests with dependency updates we've sent your way. We tried to start with a few easy patch-level updates. Hopefully your tests will pass and you can merge this pull request without too much risk. This should give you an idea how Depfu works in general.

After you merge your first pull request, we'll send you a few more. We'll never open more than seven PRs at the same time so you're not getting overwhelmed with updates.

Let us know if you have any questions. Thanks so much for giving Depfu a try!


We've tried to upgrade a dependency and got errors running Bundler. It looks like there is a version conflict between two or more dependencies. Depfu doesn't try to solve these, as this would mean to update more than one dependency at a time.

Please take a look at the exact failure to figure out if this is something you need to work on.

The bundler error message was:

Bundler could not find compatible versions for gem "parser":
  In Gemfile:
    reek was resolved to 6.1.4, which depends on
      parser (~> 3.2.0)

    rubocop was resolved to 1.59.0, which depends on
      rubocop-ast (< 2.0, >= 1.30.0) was resolved to 1.31.2, which depends on
        parser (>= 3.3.0.4)

What changed?

✳️ hanami (~> 1.2 → ~> 3.0) · Repo · Changelog

Release Notes

3.0.0

Added

  • Integrate hanami-mailer gem when bundled. (@timriley in #1597, #1600, #1606, #1609)

    Load templates from templates/mailers/. Register a "mailers.delivery_method", which is either an SMTP mailer when SMTP_ADDRESS, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD, SMTP_AUTHENTICATION env vars are present. These can also be prefixed with a slice name. Register a test delivery always in the test env, and also in other envs when the env vars are absent.

  • Integrate i18n gem when bundled. (@timriley in #1562, #1589, #1590, #1591, #1592, #1593)

    Register an "i18n" component in each slice, which may be configured via config.i18n or a dedicated :i18n provider. Load translations from config/i18n/ within each slice. Load shared translations from config/i18n/shared/ at the app-level only. Bundle default English translations for #localize. Make helpers available in views and actions, which also prefix relative keys (with a leading ".") with their own dot-delimited template or action names.

  • Wrap the configured app logger with Hanami::UniversalLogger, to provide a consistent logging interface regardless of the underlying logger. The app can now be depended upon to support (1) structured logging via keyword args passed to log methods, and (2) tagged logging via #tagged. (@timriley in #1567, #1568, #1608)

  • Allow the built-in logger to be further configured in a config/providers/logger.rb provider file, useful for calling arbitrary methods on the logger, like adding backends. (@timriley in #1608)

    Hanami.app.configure_provider :logger do
      before :start do
        logger.add_backend(
          stream: Hanami.app.root.join("log", "payments.log"),
          log_if: -> entry { entry.tag?(:payments) }
        )
      end
    end
  • Support HANAMI_LOG_LEVEL env var to set the log level (e.g. HANAMI_LOG_LEVEL=warn bundle exec hanami server). Takes precedence over config.logger.level set in config/app.rb. (@cllns in #1580)

  • Add config.db.log_level setting, for changing the log level for SQL logs. (@katafrakt in #1587)

  • New setting :default_template_engine that sets which template engine should be used by default when doing hanami generate. (@katafrakt in #1564)

  • Add Hanami::Settings::CompositeStore, which can be used to chain setting lookups from multiple stores. (@aaronmallen in #1572)

  • Add Hanami::Slice.with_slices, returning the slice and all its nested slices. (@timriley in #1604)

Changed

  • Default to memoizing all components, except in test env. Opt out for some or all components via config.no_memoize. (@timriley in #1573, #1599)
  • Colorize logs by default in development env. (@timriley in #1566)
  • Emit structured log entries for SQL queries, formatted consistently with request logs. (@timriley in #1569)
  • Syntax highlight SQL in logs when the rouge gem is bundled. (@timriley in #1570, #1607)
  • Colorize web request logs. (@timriley in #1571)
  • Change default log level for SQL (and other database) statements from :info to :debug. (@katafrakt in #1595)
  • Raise a helpful error message when the Slice.call Rack entrypoint is called and no routes are available. (@sandbergja in #1586)
  • Apply extensions to hanami-action gem rather than hanami-controller (which is now retired). (@cllns in #1582)
  • Redesign the new app welcome screen to match our new Hanakai visuals. (@makenosound in #1598)
  • Require Ruby 3.3 or newer.

Removed

  • Remove default body parsing middleware. This functionality has moved into Hanami Action. (@timriley in #1575)

Compare v2.3.2 ... v3.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.


👉 No CI detected

You don't seem to have any Continuous Integration service set up!

Without a service that will test the Depfu branches and pull requests, we can't inform you if incoming updates actually work with your app. We think that this degrades the service we're trying to provide down to a point where it is more or less meaningless.

This is fine if you just want to give Depfu a quick try. If you want to really let Depfu help you keep your app up-to-date, we recommend setting up a CI system:

* [Circle CI](https://circleci.com), [Semaphore ](https://semaphoreci.com) and [Github Actions](https://docs.github.com/actions) are all excellent options. * If you use something like Jenkins, make sure that you're using the Github integration correctly so that it reports status data back to Github. * If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you don’t want it to run on every branch, you can whitelist branches starting with `depfu/`.

Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu Bot added the depfu label Jul 2, 2026
@depfu

depfu Bot commented Jul 4, 2026

Copy link
Copy Markdown
Author

Closed in favor of #38.

@depfu depfu Bot closed this Jul 4, 2026
@depfu
depfu Bot deleted the depfu/update/hanami-3.0.0 branch July 4, 2026 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants