@weierophinney weierophinney released this Aug 1, 2018 · 2 commits to master since this release

Assets 2

Added

  • Nothing.

Changed

  • This release modifies how Zend\Feed\Pubsubhubbub\AbstractCallback::_detectCallbackUrl()
    marshals the request URI. In prior releases, we would attempt to inspect the
    X-Rewrite-Url and X-Original-Url headers, using their values, if present.
    These headers are issued by the ISAPI_Rewrite module for IIS (developed by
    HeliconTech). However, we have no way of guaranteeing that the module is what
    issued the headers, making it an unreliable source for discovering the URI. As
    such, we have removed this feature in this release.

    The method is not called internally. If you are calling the method from your
    own extension and need support for ISAPI_Rewrite, you will need to override
    the method as follows:

    protected function _detectCallbackUrl()
    {
        $callbackUrl = null;
        if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
            $callbackUrl = $_SERVER['HTTP_X_REWRITE_URL'];
        }
        if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
            $callbackUrl = $_SERVER['HTTP_X_ORIGINAL_URL'];
        }
    
        return $callbackUrl ?: parent::__detectCallbackUrl();
    }

    If you use an approach such as the above, make sure you also instruct your web
    server to strip any incoming headers of the same name so that you can
    guarantee they are issued by the ISAPI_Rewrite module.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • Nothing.

@weierophinney weierophinney released this Jun 18, 2018 · 6 commits to master since this release

Assets 2

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #81 updates the Zend\Feed\Reader\Reader and Zend\Feed\Writer\Writer classes to
    conditionally register their respective "GooglePlayPodcast" extensions only if
    their extension managers are aware of it. This is done due to the fact that
    existing ExtensionManagerInterface implementations may not register it by
    default as the extension did not exist in releases prior to 2.10.0. By having
    the registration conditional, we prevent an exception from being raised; users
    are not impacted by its absence, as the extension features were not exposed
    previously.

    Both Reader and Writer emit an E_USER_NOTICE when the extension is not
    found in the extension manager, indicating that the
    ExtensionManagerInterface implementation should be updated to add entries
    for the "GooglePlayPodcast" entry, feed, and/or renderer classes.

@weierophinney weierophinney released this Jun 5, 2018 · 13 commits to master since this release

Assets 2

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #79 fixes an issue in the setType() method of the iTunes feed renderer whereby it was setting
    the DOM content with an uninitialized variable.

@weierophinney weierophinney released this May 24, 2018 · 18 commits to master since this release

Assets 2

Added

  • #78 adds support for the Google Play Podcasts 1.0 DTD in both the Reader and
    Writer subcomponents. The following new classes provide the support:

    • Zend\Feed\Reader\Extension\GooglePlayPodcast\Entry
    • Zend\Feed\Reader\Extension\GooglePlayPodcast\Feed
    • Zend\Feed\Writer\Extension\GooglePlayPodcast\Entry
    • Zend\Feed\Writer\Extension\GooglePlayPodcast\Feed
    • Zend\Feed\Writer\Extension\GooglePlayPodcast\Renderer\Entry
    • Zend\Feed\Writer\Extension\GooglePlayPodcast\Renderer\Feed

    The extensions are registered by default with both Zend\Feed\Reader\Reader
    and Zend\Feed\Writer\Writer.

  • #77 adds support for itunes:image for each of:

    • Zend\Feed\Reader\Extension\Podcast\Entry, via getItunesImage(); previously only the Feed supported it.
    • Zend\Feed\Writer\Extension\ITunes\Entry, via setItunesImage(); previously only the Feed supported it.
    • Zend\Feed\Writer\Extension\ITunes\Renderer\Entry; previously on the Feed supported it.
  • #75 adds Zend\Feed\Writer\Extension\ITunes\Entry::setItunesSeason(), corresponding to the
    itunes:season tag, and allowing setting the season number of the episode the
    entry represents.

  • #75 adds Zend\Feed\Writer\Extension\ITunes\Entry::setItunesIsClosedCaptioned(), corresponding to the
    itunes:isClosedCaptioned tag, and allowing setting the status of closed
    captioning support in the episode the entry represents.

  • #75 adds Zend\Feed\Writer\Extension\ITunes\Entry::setItunesEpisodeType(), corresponding to the
    itunes:episodeType tag, and allowing setting the type of episode the entry represents
    (one of "full", "trailer", or "bonus", and defaulting to "full").

  • #75 adds Zend\Feed\Writer\Extension\ITunes\Entry::setEpisode(), corresponding to the
    itunes:episode tag, and allowing setting the number of the episode the entry represents.

  • #75 adds Zend\Feed\Writer\Extension\ITunes\Feed::setItunesComplete(), corresponding to the
    itunes:complete tag. It allows setting a boolean flag, indicating whether or not the
    podcast is complete (will not air new episodes).

  • #75 adds Zend\Feed\Writer\Extension\ITunes\Feed::setItunesType(), corresponding to the
    itunes:type tag, and allowing setting the podcast type (one of "serial" or "episodic").

  • #75 adds Zend\Feed\Reader\Extension\Podcast\Entry::getEpisodeType(), corresponding to the
    itunes:episodeType tag, and returning the type of episode the entry represents
    (one of "full", "trailer", or "bonus", and defaulting to "full").

  • #75 adds Zend\Feed\Reader\Extension\Podcast\Entry::getSeason(), corresponding to the
    itunes:season tag, and returning the season number of the episode the entry represents.

  • #75 adds Zend\Feed\Reader\Extension\Podcast\Entry::isClsoedCaptioned(), corresponding to the
    itunes:isClosedCaptioned tag, and returning the status of closed captioning
    in the episode the entry represents.

  • #75 adds Zend\Feed\Reader\Extension\Podcast\Entry::getEpisode(), corresponding to the
    itunes:episode tag, and returning the number of the episode the entry represents.

  • #75 adds Zend\Feed\Reader\Extension\Podcast\Feed::isComplete(), corresponding to the
    itunes:complete tag. It returns a boolean, indicating whether or not the podcast is
    complete (will not air new episodes).

  • #75 adds Zend\Feed\Reader\Extension\Podcast\Feed::getPodcastType(), corresponding to the
    itunes:type tag, and providing the podcast type (one of "serial" or "episodic", defaulting
    to the latter).

Changed

  • #77 updates URI validation for Zend\Feed\Writer\Extension\ITunes\Feed::setItunesImage() to
    first check that we have received a string value before proceeding.

Deprecated

  • #75 deprecates each of:
    • Zend\Feed\Reader\Extension\Podcast\Entry::getKeywords()
    • Zend\Feed\Reader\Extension\Podcast\Feed::getKeywords()
    • Zend\Feed\Writer\Extension\ITunes\Entry::setKeywords()
    • Zend\Feed\Writer\Extension\ITunes\Feed::setKeywords()
      as the iTunes Podcast RSS specification no longer supports keywords.

Removed

  • Nothing.

Fixed

  • Nothing.

@weierophinney weierophinney released this May 14, 2018 · 56 commits to master since this release

Assets 2

Added

  • Nothing.

Changed

  • #16 updates the Zend\Feed\Pubsubhubbub\AbstractCallback to no longer use the
    $GLOBALS['HTTP_RAW_POST_DATA'] value as a fallback when php://input is
    empty. The fallback existed because, prior to PHP 5.6, php://input could
    only be read once. As we now require PHP 5.6, the fallback is unnecessary,
    and best removed as the globals value is deprecated.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #68 fixes the behavior of Zend\Feed\Writer\AbstractFeed::setTitle() and
    Zend\Feed\Writer\Entry::setTitle() to accept the string "0".

  • #68 updates both Zend\Feed\Writer\AbstractFeed and Zend\Feed\Writer\Entry
    to no longer throw an exception for entry titles which have a string value of 0.

@weierophinney weierophinney released this Dec 4, 2017 · 75 commits to master since this release

Assets 2

Added

  • #52 adds support for PHP 7.2

  • #53 adds a number of additional aliases to the Writer\ExtensionPluginManager to ensure plugins will be pulled as expected.

  • #63 adds the feed title to the attributes incorporated in the FeedSet instance, per what was already documented.

  • #55 makes two API additions to the StandaloneExtensionManager implementations of both the reader and writer subcomponents:

    • $manager->add($name, $class) will add an extension class using the provided name.
    • $manager->remove($name) will remove an existing extension by the provided name.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • #52 removes support for HHVM.

Fixed

  • #50 fixes a few issues in the PubSubHubbub Subscription model where counting was being performed on uncountable data; this ensures the subcomponent will work correctly under PHP 7.2.
Jul 13, 2017
zend-feed 2.4.13
Jun 19, 2017
zend-feed 2.4.12

@Xerkus Xerkus released this Apr 1, 2017 · 169 commits to master since this release

Assets 2

Added

  • #27 adds a documentation chapter demonstrating wrapping a PSR-7 client to use with Zend\Feed\Reader.
  • #22 adds missing ExtensionManagerInterface on Writer\ExtensionPluginManager.
  • #32 adds missing ExtensionManagerInterface on Reader\ExtensionPluginManager.

Deprecated

  • Nothing.

Removed

  • #38 dropped php 5.5 support

Fixed

  • #35 fixed "A non-numeric value encountered" in php 7.1
  • #39 fixed protocol relative link absolutisation
  • #40 fixed service manager v3 compatibility aliases in extension plugin managers
Dec 19, 2016
zend-feed 2.4.11