Hanami v2.0.0.alpha6 Release Notes

Release Date: 2022-02-10 // about 2 years ago
  • โž• Added

    • ๐Ÿ’Ž [Luca Guidi] Official support for Ruby: MRI 3.1
    • [Tim Riley] Introduce partial Slice imports and exports. It allows to selectively export a functionality from a slice and import into another.

      Import from search slice, uses search as the imported key namespace:

      # config/application.rb
      
      module MyApp
        class Application < Hanami::Application
          config.slice(:admin) do
            import(from: :search)
          end
        end
      end
      

      Import from search slice with custom namespace:

      # config/application.rb
      
      module MyApp
        class Application < Hanami::Application
          config.slice(:admin) do
            import(from: :search, as: :search_engine)
          end
        end
      end
      

      Import specific keys from search slice

      # config/application.rb
      
      module MyApp
        class Application < Hanami::Application
          config.slice(:admin) do
            import(keys: ["run_query"], from: :search)
          end
        end
      end
      

      Export only specific keys from search slice, and import them in admin

      # config/application.rb
      
      module MyApp
        class Application < Hanami::Application
          config.slice(:admin) do
            import(from: :search)
          end
      
          config.slice(:search) do
            container.config.exports = %w[run_query index_item]
          end
        end
      end
      

    ๐Ÿ›  Fixed

    • [Luca Guidi] Ensure request logger to respect logger formatter option.

    ๐Ÿ”„ Changed

    • ๐Ÿ’Ž [Luca Guidi] Drop support for Ruby: MRI 2.6 and 2.7.
    • [Tim Riley] Hanami.init => Hanami.prepare and hanami/init => hanami/prepare
    • [Tim Riley] Hanami.register_bootable => Hanami.register_provider
    • [Tim Riley] Hanami.start_bootable => Hanami.start
    • [Tim Riley] Hanami::Slice#init => Hanami::Slice#prepare
    • [Tim Riley] Hanami::Slice#register_bootable => Hanami::Slice#register_provider
    • [Tim Riley] Hanami::Slice#start_bootable => Hanami::Slice#start