Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Search Bundle Laravel Package

algolia/search-bundle

View on GitHub
Deep Wiki
Context7
8.1.0

Note: This minor release contains breaking changes due to the underlying Algolia PHP SDK upgrade from v3 to v4. We chose to include these in a minor rather than a new major because v8.0.0 was released recently to add Symfony 8 support, and we want to keep the bundle's major version aligned with Symfony's.

Breaking Changes

  • SearchClient moved from Algolia\AlgoliaSearch\SearchClient to Algolia\AlgoliaSearch\Api\SearchClient
  • $requestOptions no longer auto-detects flat HTTP headers — wrap under ['headers' => [...]]
  • SearchServiceResponse::wait() no longer accepts parameters
  • SearchServiceResponse no longer extends Algolia\AlgoliaSearch\Response\AbstractResponse

See UPGRADE-8.1.md for the full migration guide.

What's Changed

  • Algolia PHP SDK upgraded from v3 to v4 (#395)

Full Changelog: https://github.com/algolia/search-bundle/compare/8.0.0...8.1.0

8.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/algolia/search-bundle/compare/7.0.0...8.0.0

6.0.1

What's Changed

New Contributors

Full Changelog: https://github.com/algolia/search-bundle/compare/6.0.0...6.0.1

5.2.1
5.1.0

Changed

  • Update the Algolia API client version (#360)
5.0.0
  • Update Doctrine components and add Symfony 5.2 support (#355)
  • Drops support for PHP < 7.2
3.3.2
  • Fix bug in IndexManager::count to take parameters into account - PR #260

    Note that this bug fix is backward compatible but should be clean up when we release a next major version.

3.3.1
  • Little optimization, AlgoliaEngine will serialize an Entity only once - PR #255
2.3.0-beta

📕 This is beta release to install it, make sure your composer.json has the following

  "prefer-stable": true, 
  "minimum-stability": "beta" (or dev or alpha)

📝 Version 2.x is officially not supported BUT all bug fixes related to the PR merged between 2.2 and 2.3 will still be merged.

CHANGELOG

  • Add a DataCollector with debug toolbar integration - PR #57

    Note: I'll add this feature to the 3.x branch as well, this is great.

  • Add disable Algolia call feature (part of previous PR)

  • Fix entity discovery for discriminated entities - PR #133

  • Allow skipping non Algolia entities in commands - PR #109

  • Catch exception when indexing which allows you to index entities with soft-deleted relationship - PR #119

3.3.0
  • Make Algolia Client lazy - PR #251

    If you didn't set the ALGOLIA_APP_ID and ALGOLIA_API_KEY env variables you will only get an error message when the client is used (a method is called), not when its injected and not used.

    Note: This requires that you install ocramius/proxy-manager and symfony/proxy-manager-bridge packages

  • Removed connection attribute for Doctrine Event Subscribers - PR #248

3.2.0
  • Support JMS Serializer - PR #225

    If you'd rather use the JMS Serializer instead of the default Symfony serializer, you can set serializer: jms_serializer in config/packages/algolia_search.yaml. Note that the @Groups annotation isn't supported.

  • NullEngine was improved to remove warning - Issue #234

  • The entire test suite was refactored - PR #236

3.1.2
  • Fix circular reference issue when removing entities - PR #227
3.1.1

3.1.1

  • Lazy load commands - PR #218

    Symfony 3.4 introduced an easy way to lazy load all commands. We can avoid instantiating the Algolia Client if it's not necessary. This should fix #199

  • Do not register Event Subscriber if there are no event to listen to - PR #219

    If you don't listen to any doctrine event using doctrineSubscribedEvents: [], the subscriber will not be registered to avoid instantiation the IndexManager and the Algolia client.

3.1.0

3.1.0

  • Introduce batchSize config key (default: 500) - PR #208

    This config allow you create smaller or bigger batch calls to Algolia. The same config is used by doctrine in the ImportCommand.

  • Feature: Index entities conditionally (using a dedicated method) - PR #210

    Add new index_if configuration key for indices. This should be the path to a property in the entity which evaluates to true if the item should be indexed and false to bypass indexing or remove existing object from the index.


- indices: 
    - name: posts 
      class: App\Entity\Post 
      index_if: isPublished
  • Better support for Symfony 3.4 projects with the old folder structure
3.0.1
  • dynamically retrieve object manager for ImportCommand (#203) Thanks @alex-ception
3.0.0

Symfony released a new major version today (4.0), along with the new LTS version (3.4). To support these 2 versions, we’re introducing a new major version of our existing Symfony bundle

Key features

The main reason we wanted to create a new version was to create a better developer experience. You can now define a simple yaml file to configure which entity get indexed in which index and you’re done.

  • Simple: You can get started with only 5 lines of YAML
  • Extensible: It let’s you easily replace services by implementing Interfaces
  • Standard: It leverages Normalizers1 to convert entities for indexing
  • Dev-friendly: It lets you disable HTTP calls easily (while running tests for examples)
  • Futur-ready: It let’s you unsubscribe from doctrine events easily to use a messaging/queue system.

Compatibility

This new package is compatibly with both 3.4 and 4.0 version (and will be with all future version).

If your app is running on 2.8 or a 3.x, you use our previous version of the bundle on the 2.x branch.

What about the 2.x version

If you already use our bundle in version 2, you can continue to do so. It will be maintained until the 2.8 LTS branch is officially abandoned (November 2018).

The upgrade guide will be published in the repository. The main thing is that you will need to convert your annotations and custom methods into a Normalizer.

You can also expect a new patch release with some bug fixes soon.

NOTE: The GitHub repo was renamed but it’s the same as before.

One more thing: it’s Search Engine-agnostic

While rewriting it, I thought it would be great for the community if anyone could use this package with another search engine.

There is a driver for Algolia, that ships with the bundle, but you can write your own: to better match your business case or to use another search engine.

Feel free to create many new drivers and publish them on Packagist. :tada:

Contribute

Feel free to open issues on GitHub if you want to share something. Any feedback is more that welcome.

3.0.0-BETA5
  • Merge IndexingManagerInterface and SearchManagerInterface into IndexManagerInterface [BC Break]
  • Alias Algolia\SearchBundle\IndexManagerInterface to the index manager class so it can be autowired by Symfony. The IndexManager should be inject if necessary since the Sf4 has a lighter container and the search.index_manager service is not availble.
  • Tests are now running on community pull requests

See #186 and #184

3.0.0-BETA4
  • Change command signature
  • Fix data removal
  • And more
3.0.0-BETA3
  • Use Symfony built-in Serializer and remove SearchableArrayNormalizer (Thanks @tristanbes)
  • Require stable version of Symfony 4 (Thanks @alcaeus)
  • Introduce upgrade guide (Thanks @tristanbes)
  • Fix various little bugs
3.0.0-BETA

This new version is not backward compatible but migrating should be easy (upgrade guide coming up).

2.2.0
  • Introduce algolia.connection_timeout parameter to override default timeout of the Algolia PHP client
2.1.0
  • Allow to use searchableAttributes instead of attributesToIndex
  • Allow to use replicas instead of slaves
2.0.0
  • PSR2 standard
  • Deprecate php < 5.6
1.0.13

Add support for symfony 3

1.0.12

Upgrade php algolia client

1.0.11

NEW: Ability to change the default field for objectID

1.0.10

Fix proxies + getter issues

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
comsave/common
alecsammon/php-raml-parser
chrome-php/wrench
lendable/composer-license-checker
typhoon/reflection
mesilov/moneyphp-percentage
mike42/gfx-php
bookdown/themes
aura/view
aura/html
aura/cli
povils/phpmnd
nayjest/manipulator
omnipay/tests
psr-mock/http-message-implementation
psr-mock/http-factory-implementation
psr-mock/http-client-implementation
voku/email-check
voku/urlify
rtheunissen/guzzle-log-middleware