All Versions
Latest Version
Avg Release Cycle
171 days
Latest Release
1526 days ago

Changelog History
Page 1

  • v0.6.2 Changes

    April 18, 2020
    • โž• Add the monad transformer ScraperT.
  • v0.6.1 Changes

    January 19, 2020
    • ๐Ÿ‘Œ Support GHC 8.8.
  • v0.6.0 Changes

    February 18, 2019

    ๐Ÿ’ฅ Breaking Changes

    • anySelector now captures text nodes. This causes different results when used
      with a plural scraper (e.g. chroots). Usage with a singular scraper (e.g.
      chroot) should be unaffected.
    • The dependency on curl has been replaced with http-client and
      http-client-tls. This has the following observable changes.
      • scrapeURLWithOpts is removed.
      • The Config type used with scrapeURLWithConfig no longer contains a list
        of curl options. Instead it now takes a Maybe Manager from http-client.
      • The Decoder function type now takes in a Response type from
      • scrapeURL will now throw an exception if there is a problem connecting to
        a URL.

    Other Changes

    • โœ‚ Remove Ord constraint from public APIs.
    • โž• Add atDepth operator which allows for selecting nodes at a specified depth
      in relation to another node (#21).
    • ๐Ÿ›  Fix issue selecting malformed HTML where "a" // "c" would not match
    • โž• Add textSelector for selecting text nodes.
    • โž• Add SerialScraper type and associated primitives (#48).
  • v0.5.1 Changes

    April 25, 2017
    • ๐Ÿ›  Fix bug (#59, #54) in DFS traversal order.
  • v0.5.0 Changes

    February 05, 2017
    • ๐Ÿ“ฆ Split scalpel into two packages: scalpel and scalpel-core. The latter
      ๐Ÿ‘ does not provide networking support and does not depend on curl.
  • v0.4.1 Changes

    January 19, 2017
    • โž• Added notP attribute predicate.
  • v0.4.0 Changes

    October 17, 2016
    • โž• Add the chroot tricks (#23 and #25) to and added examples.
      • Fix backtracking that occurs when using guard and chroot.
      • Fix bug where the same tag may appear in the result set multiple times.
    • ๐ŸŽ Performance optimizations when using the (//) operator.
    • ๐Ÿ‘‰ Make Scraper an instance of MonadFail. Practically this means that failed
      pattern matches in <- expressions within a do block will evaluate to mzero
      instead of throwing an error and bringing down the entire script.
    • Pluralized scrapers will now return the empty list instead mzero when there
      are no matches.
    • โž• Add the position scraper which provides the index of the current sub-tree
      within the context of a chroots's do-block.
  • v0.3.1 Changes

    May 28, 2016
    • โž• Added the innerHTML and innerHTMLs scraper.
    • โž• Added the match function which allows for the creation of arbitrary
      attribute predicates.
    • ๐Ÿ›  Fixed build breakage with GHC 8.0.1.
  • v0.3.0 Changes

    January 31, 2016
    • โž• Added benchmarks and many optimizations.
    • ๐Ÿšš The select method is removed from the public API.
    • Many methods now have a constraint that the string type parametrizing
      ๐Ÿท TagSoup's tag type now must be order-able.
    • โž• Added scrapeUrlWithConfig that will hopefully put an end to multiplying
      scrapeUrlWith* methods.
    • 0๏ธโƒฃ The default behaviour of the scrapeUrl* methods is to attempt to infer the
      character encoding from the Content-Type header.
  • v0.3.0.1 Changes

    January 31, 2016
    • ๐Ÿ‘‰ Make tag and attribute matching case-insensitive.