PackageTrack
Sign in Get early access

bear/resource

Hypermedia framework for object as a service

1.33.0 723K downloads/mo #4042 most downloaded on Packagist bearsunday/BEAR.Resource

What this package is like to depend on

Last release 2 months ago

20 Jun 2026

Release timing varies

gaps range from 9 days to 4 months

Rarely documented

notes for 15 of 145 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

147 releases · first in 2012

8 releases in the last 12 months

see the full history below

Release timeline

145 releases · Oct 2012 to Jun 2026
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 60 of 147
  1. 1.33.0 20 Jun 2026
    Release notes

    Added

    • HttpRequestException for HTTP transport and response parsing failures
    • JsonSchemaException::getErrors() returning typed JsonSchemaError / ConstraintViolation DTOs through a JsonSchemaErrors collection (#364)
    • JsonSchemaRequestException / JsonSchemaResponseException subclasses for source discrimination at catch sites (#369)

    Changed

    • Set default cURL timeouts for HTTP resource requests: 5 seconds to connect and 30 seconds overall

    Fixed

    • Remove invalid Psalm taint-source annotation from AbstractRequest::__invoke()
    Open source →
    Release notes

    Added

    • HttpRequestException for HTTP transport and response parsing failures
    • JsonSchemaException::getErrors() returning typed JsonSchemaError / ConstraintViolation DTOs through a JsonSchemaErrors collection (#364)
    • JsonSchemaRequestException / JsonSchemaResponseException subclasses for source discrimination at catch sites (#369)

    Changed

    • Set default cURL timeouts for HTTP resource requests: 5 seconds to connect and 30 seconds overall

    Fixed

    • Remove invalid Psalm taint-source annotation from AbstractRequest::__invoke()
    Open source →
  2. 1.32.0 12 May 2026
    Release notes

    Changed

    • HalRenderer now evaluates embedded AbstractRequest instances via (string) cast instead of direct __invoke(), allowing lazy/batch decorators (e.g. bear/async's AsyncRequest) to short-circuit invocation (#360).
    • Pre-seed HalRenderer on same-schema sibling embeds before evaluation so batch decorators preserve _links on flushed siblings (#360).
    • Relax AbstractRequest::jsonSerialize() return type to mixed for JsonSerializable interface compliance (#360).

    Fixed

    • Skip body schema validation for cached rendered responses to avoid redundant validation on cache hits (#359).
    Open source →
    Release notes

    Fixed

    • Skip body schema validation for cached rendered responses (#359)
    • Allow HalRenderer embed evaluation to handle mixed return from jsonSerialize() (#360)
    Open source →
  3. 1.31.1 29 Apr 2026
    Release notes

    Fixed

    • Allow JsonSchemaInterceptor request validation to flatten Ray.InputQuery #[Input] DTO arguments before JSON Schema validation.
    Open source →
    Release notes

    Fixed

    • Allow JsonSchemaInterceptor request validation to flatten Ray.InputQuery #[Input] DTO arguments before JSON Schema validation
    Open source →
  4. 1.31.0 02 Feb 2026
    Release notes

    Added

    • ResourceClient class — stateless ResourceInterface implementation safe for coroutine/async environments
    • Method enum for type-safe HTTP method parameters
    • ResourceClient::newRequest() for direct request creation without fluent interface
    • LinkCrawler extracted from Linker for coroutine safety

    Changed

    • Linker delegates list detection to LinkCrawler for shared logic
    Open source →
    Release notes

    Added

    • ResourceClient class — stateless ResourceInterface implementation safe for coroutine/async environments
    • Method enum for type-safe HTTP method parameters
    • ResourceClient::newRequest() for direct request creation without fluent interface
    • LinkCrawler extracted from Linker for coroutine safety

    Changed

    • Linker delegates list detection to LinkCrawler for shared logic
    Open source →
  5. 1.30.0 24 Jan 2026
    Release notes

    Added

    • EmbedInterceptorInterface for swappable embed implementations
      • Allows alternative implementations (e.g., async/parallel embed resolution) to be injected via DI
      • EmbedInterceptor now implements this interface
      • EmbedResourceModule binds via the interface for extensibility
    Open source →
    Release notes

    Added

    • EmbedInterceptorInterface for swappable embed implementations
      • Allows alternative implementations (e.g., async/parallel embed resolution) to be injected via DI
      • EmbedInterceptor now implements this interface
      • EmbedResourceModule binds via the interface for extensibility
    Open source →
  6. 1.29.0 28 Dec 2025
    Release notes

    Add Psalm taint annotations for security analysis

    Open source →
    Release notes

    Added

    • Psalm taint annotations for improved security analysis
      • Added @psalm-taint-specialize to AbstractUri::__toString()
      • Enhanced static analysis for detecting potential security issues
    Open source →
  7. 1.28.0 08 Dec 2025
    Release notes

    Added

    • Ray.InputQuery #[Input] attribute support for OPTIONS method
      • OPTIONS requests now properly expand #[Input] parameters to show constructor properties
      • Added comprehensive test coverage for Input parameter expansion scenarios

    Fixed

    • Bug where non-Input required parameters were dropped when #[Input] attribute existed
    • OPTIONS method now correctly handles mixed Input and regular parameters

    Changed

    • Refactored OptionsMethodRequest parameter processing for improved maintainability
      • Extracted Input parameter processing to dedicated method
      • Improved code organization and readability
    Open source →
    Release notes

    Added

    • Ray.InputQuery #[Input] attribute support for OPTIONS method
      • OPTIONS requests now properly expand #[Input] parameters to show constructor properties
      • Added comprehensive test coverage for Input parameter expansion scenarios

    Fixed

    • Bug where non-Input required parameters were dropped when #[Input] attribute existed
    • OPTIONS method now correctly handles mixed Input and regular parameters

    Changed

    • Refactored OptionsMethodRequest parameter processing for improved maintainability
      • Extracted Input parameter processing to dedicated method
      • Improved code organization and readability
    Open source →
  8. 1.27.0 11 Nov 2025
    Release notes

    Changes

    Changed

    • PHP 8 Attributes Migration: Removed doctrine/annotations and doctrine/cache dependencies, migrated to native PHP 8 attributes
    • Minimum PHP Version: Updated requirement from PHP 8.1 to PHP 8.2
    • Development Tools: Updated PHPUnit from 9.6 to 11.0, migrated test suite to PHP 8 attributes
    • Dependencies: Updated to stable Ray dependencies (ray/aop ^2.18.0, ray/di ^2.18.0), replaced nocarrier/hal with koriym/hal ^1.1
    • CI/CD: Updated Scrutinizer CI to PHP 8.4

    Removed

    • doctrine/annotations (abandoned package)
    • doctrine/cache (abandoned package)
    • symfony/polyfill-php83 (unnecessary for PHP 8.2+)
    • Backward compatibility code for annotations

    Fixed

    • CI workflow to remove PHP 8.1 from test matrix
    • Parameter processing to handle methods without attributes correctly
    • Updated .gitignore for .phpunit.cache directory

    ⚠️ Migration Required

    Applications using annotations must migrate to PHP 8 attributes:

    composer require --dev bearsunday/rector-bearsunday
    
    # Preview changes
    vendor/bin/rector process src --config=vendor/bearsunday/rector-bearsunday/rector.php --dry-run
    
    # Apply migration
    vendor/bin/rector process src --config=vendor/bearsunday/rector-bearsunday/rector.php

    Why This Change?

    The doctrine/annotations package has been officially abandoned by its maintainers. This change:

    • Eliminates security and compatibility risks from abandoned packages
    • Adopts native PHP 8 attributes as the modern standard
    • Improves performance (no runtime annotation parsing overhead)
    • Provides automated migration tooling

    Full changelog: https://github.com/bearsunday/BEAR.Resource/blob/1.x/CHANGELOG.md

    Open source →
    Release notes

    Changed

    • BREAKING: Minimum PHP version requirement changed from 8.1 to 8.2
    • Migrated from Doctrine Annotations to PHP 8 Attributes
    • Upgraded PHPUnit from 9.6 to 11.0
    • Migrated PHPUnit XML configuration to latest schema
    • Converted PHPUnit annotations to PHP 8 attributes (@depends#[Depends], @dataProvider#[DataProvider])
    • Updated Scrutinizer CI to PHP 8.4
    • Replaced nocarrier/hal with koriym/hal ^1.1
    • Restored stable Ray dependencies (ray/aop ^2.18.0, ray/di ^2.18.0)
    • Applied readonly class optimization by Rector

    Removed

    • BREAKING: Removed all Doctrine Annotations support
    • Removed backward compatibility code for annotations (getAnnotationParamMetas, getAssistedNames, addNamedParams, getWebContext, setAssistedAnnotation, getInsFromMethodAnnotations)
    • Removed doctrine/annotations dependency
    • Removed unnecessary symfony/polyfill-php83 dependency
    • Removed obsolete @CookieParam annotation docblocks

    Migration Guide: Use bearsunday/rector-bearsunday to automatically convert annotations to attributes.

    Fixed

    • CI workflow to remove PHP 8.1 from test matrix
    • Parameter processing to handle methods without attributes correctly
    • Updated .gitignore for .phpunit.cache directory
    Open source →
  9. 1.26.3 29 Jul 2025
    Release notes

    Changed

    • Updated ray/input-query dependency to version ^1.0

    Full Changelog

    v1.26.2...v1.26.3

    Open source →
    Release notes

    Changed

    • Updated ray/input-query dependency to version ^1.0
    Open source →
  10. 1.26.2 17 Jul 2025
    Release notes

    Changed

    • Updated ray/input-query dependency to version ^0.3.0

    This minor release updates the Ray.InputQuery dependency to support the latest features and improvements in version 0.3.0.

    For full changelog, see: https://github.com/bearsunday/BEAR.Resource/blob/1.x/CHANGELOG.md

    Open source →
    Release notes

    Changed

    • Updated ray/input-query dependency to version ^0.3.0
    Open source →
  11. 1.26.1 10 Jul 2025
    Release notes

    Fixed

    • Exception handling in parameter resolution for Ray.InputQuery integration
    • Consistent ParameterException throwing when InvalidArgumentException occurs in parameter injection
    • Proper exception chaining to preserve debugging context
    Open source →
  12. 1.26.0 07 Jul 2025
    Release notes

    Added

    • Ray.InputQuery integration for file upload handling
    • Support for AbstractFileUpload return types in InputFormParam and InputFormsParam
    • Ability to pass generated file upload objects directly to resource methods
    • Integration tests for file upload functionality
    • InputParam class for handling input query parameters
    • Comprehensive file upload examples and documentation
    • Comprehensive type definitions in Types.php for improved type safety

    Changed

    • Updated ray/input-query dependency to version ^0.2.0
    • Updated koriym/file-upload dependency to version ^0.2.0
    • Refactored file upload handling for improved consistency and readability
    • Replaced create method with newInstance for inputQuery instantiation

    Fixed

    • Parameter validation to prevent silent errors
    • Code style issues in test files

    Dependencies

    • ray/input-query: ^0.2.0
    • koriym/file-upload: ^0.2.0
    • ext-fileinfo: * (required for Windows CI compatibility)
    Open source →
  13. 1.25.0 26 Feb 2025
    Release notes

    Added

    • Request exception handler for JSON schema validation
    • Arguments support for JsonSchemaRequestExceptionHandlerInterface

    Changed

    • Enhanced JSON schema validation error handling
    Open source →
  14. 1.24.0 11 Jan 2025
    Release notes

    Added

    • PHP 8.4 support in CI workflow
    • PHPStan baseline configuration

    Changed

    • Update rize/uri-template requirement from ^0.3 to ^0.4
    • Update method parameters to allow nullable types
    • Refactor codebase for improved readability and readonly properties
    • Replace assertSame with assertJsonStringEqualsJsonString in tests
    • Update copyright year to 2025
    Open source →
  15. 1.23.0 27 Oct 2024
    Release notes

    Changed

    • Make koriym/json-schema-faker package optional
    Open source →
  16. 1.22.5 22 Oct 2024

    Nothing published for this version

  17. 1.22.4 21 Oct 2024

    Nothing published for this version

  18. 1.22.3 23 May 2024

    Nothing published for this version

  19. 1.22.2 23 May 2024

    Nothing published for this version

  20. 1.22.1 26 Apr 2024

    Nothing published for this version

  21. 1.22.0 22 Apr 2024

    Nothing published for this version

  22. 1.21.0 23 Mar 2024

    Nothing published for this version

  23. 1.20.2 22 Aug 2023

    Nothing published for this version

  24. 1.20.1 25 Jul 2023

    Nothing published for this version

  25. 1.20.0 24 Jul 2023

    Nothing published for this version

  26. 1.19.1 07 Feb 2023

    Nothing published for this version

  27. 1.19.0 23 Dec 2022

    Nothing published for this version

  28. 1.18.1 29 Nov 2022

    Nothing published for this version

  29. 1.18.0 29 Oct 2022

    Nothing published for this version

  30. 1.17.6 no date

    Nothing published for this version

  31. 1.17.5 27 Mar 2022

    Nothing published for this version

  32. 1.17.4 26 Mar 2022

    Nothing published for this version

  33. 1.17.3 11 Mar 2022

    Nothing published for this version

  34. 1.17.2 22 Feb 2022

    Nothing published for this version

  35. 1.17.1 26 Jan 2022

    Nothing published for this version

  36. 1.17.0 11 Jan 2022

    Nothing published for this version

  37. 1.16.3 14 Nov 2021

    Nothing published for this version

  38. 1.16.2 05 Nov 2021

    Nothing published for this version

  39. 1.16.1 no date

    Nothing published for this version

  40. 1.16.0 31 Oct 2021

    Nothing published for this version

  41. 1.15.6 15 Jul 2021

    Nothing published for this version

  42. 1.15.5 09 May 2021

    Nothing published for this version

  43. 1.15.4 17 Mar 2021

    Nothing published for this version

  44. 1.15.3 09 Mar 2021

    Nothing published for this version

  45. 1.15.2 30 Jan 2021

    Nothing published for this version

  46. 1.15.1 18 Jan 2021

    Nothing published for this version

  47. 1.15.0 13 Jan 2021

    Nothing published for this version

  48. 1.14.9 09 Nov 2020

    Nothing published for this version

  49. 1.14.8 06 Oct 2020

    Nothing published for this version

  50. 1.14.7 26 Aug 2020

    Nothing published for this version

  51. 1.14.6 01 Jul 2020

    Nothing published for this version

  52. 1.14.5 24 Jun 2020

    Nothing published for this version

  53. 1.14.4 21 Jun 2020

    Nothing published for this version

  54. 1.14.3 07 Jun 2020

    Nothing published for this version

  55. 1.14.2 13 Mar 2020

    Nothing published for this version

  56. 1.14.1 20 Feb 2020

    Nothing published for this version

  57. 1.14.0 03 Dec 2019

    Nothing published for this version

  58. 1.13.1 06 Sep 2019

    Nothing published for this version

  59. 1.13.0 17 Jul 2019

    Nothing published for this version

  60. 1.12.3 24 Jun 2019

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive