PackageTrack
Sign in Get early access

any_link_preview

Dart package that helps with preview of any links. Fully customizable and has the ability to render from cached data. Useful for apps where we had chat feature.

3.0.3 33K downloads/mo #135 most downloaded on pub.dev sur950/any_link_preview

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 2 weeks to 10 months

Nearly every release is documented

notes for 21 of 21 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

23 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

23 releases · Aug 2020 to Jan 2025
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 23
  1. 3.0.3 18 Jan 2025
    Release notes
    • 🛠 Improved Error Handling:
      The parser loop now gracefully continues on errors instead of breaking.

    • 🌐 Custom User-Agent Support:
      Pass a custom UserAgent as props to tailor link previews to your needs.

    • 📺 New Helpers:
      Added YouTube video and redirection helpers for smoother handling of specific links.

    • 🚀 Enhanced Metadata Fetching:
      The getMetadata() function now supports a userAgent option for more flexible metadata retrieval.

    Open source →
  2. 3.0.2 10 Apr 2024
    Release notes

    New Features:

    • SVG Icon Support: AnyLinkPreview now seamlessly handles SVG images returned in metadata, enhancing support for various image formats.
    • New Metadata Property - siteName: We've introduced a siteName property to our metadata fetch method, allowing for richer data extraction and display.

    Improvements:

    • Enhanced itemBuilder Callback: The itemBuilder property has been expanded to return an SvgPicture widget when metadata includes an SVG image. This ensures correct rendering of SVGs alongside standard image formats.
    • Comprehensive Error Handling: When both title and description are missing from the metadata, AnyLinkPreview will now resort to displaying the errorWidget (if provided) or a default error view. This update ensures a smoother user experience by providing informative feedback in cases of incomplete metadata.
    • Extended Redirect Support: To improve handling of server-driven redirects, AnyLinkPreview now supports up to 7 redirects, accommodating common status codes 301, 302, 303, 307, 308. This enhancement ensures more reliable URL preview generation across a wider range of web links.
    Open source →
  3. 3.0.1 05 Jun 2023
    Release notes
    • Packages updated to support latest version.
    • http links support added
    Open source →
  4. 3.0.0 30 Dec 2022
    Release notes
    • User Agent causing the redirection URLs, Server side rendered meta-tag URLs fail from getting results. Now, we are taking User Agent from server if available, As a fallback we are using client side static User Agent.
    • If the link starts with www. we are removing the same before fetching the results. However, we suggest to check for link validity with the helper method provided before fetching results from the library.
    Open source →
  5. 2.0.9 28 Jun 2022
    Release notes
    • Packages upgraded to support latest version of flutter SDK.
    • Now one can provide the height of the Preview Card as per their requirement.
    • Builder function is added. Thanks to the contributor <a href="https://github.com/LeGoffMael">Maël</a>
    Open source →
  6. 2.0.8 11 May 2022
    Release notes
    • Deprecated methods / functions are removed
    • Renamed uiDirection to UIDirection as per flutter lints package suggestions.
    • key issue in Validation of link is resolved now. Know more about it <a href="https://github.com/sur950/any_link_preview/issues/29">here</a>
    • Migration to Flutter Embedding & URL Launch customizations were added. Thanks to the conributor <a href="https://github.com/OmarYehiaDev">OmarYehiaDev</a>
    Open source →
  7. 2.0.7 15 Apr 2022
    Release notes
    • Now one can also add custom headers to the preview requests
    • For any sort of errors, it shows the errorWidget by default.
    Open source →
  8. 2.0.6 16 Feb 2022
    Release notes
    • Renamed UIDirection to uiDirection, UIDirectionHorizontal to uiDirectionHorizontal and UIDirectionVertical to uiDirectionVertical as per lint suggestions.
    • Refactored codebase according to the suggestions from official <a href="https://pub.dev/packages/lints">Dart linter </a>package (package:lints)
    Open source →
  9. 2.0.5 16 Feb 2022
    Release notes
    • FIX: <b>Twitter link preview</b>. Twitter uses client-side-rendering (CSR) to generate HTML in the browser
      • Viewing the source directly will not show any of the relevant <meta> tags or actual page HTML content, because it is all dynamically generated on the client's browser in React using JavaScript (i.e. CSR: Client-side rendering). In fact, the HTML source will have a stub containing "We've detected that JavaScript is disabled in your browser. Would you like to proceed to legacy Twitter?". This can be verified by opening up developer tools and peeking at the "Elements" tab during page load/render or downloading the page without JavaScript emulation
      • However, to improve Search Engine Optimization (SEO) for various prominent web-crawlers, Twitter will instead return server-side-rendered (SSR) HTML content (which does contain the <meta> tags). This enables crawlers to not have to emulate JavaScript to view the page, and only crawl raw HTML content. Twitter recognizes crawlers based on the supplied User-Agent HTTP Header. Server-side-rendering is generally a more expensive operation than offloading the HTML rendering onto the client, which may be a reason why Twitter opts for client-side-rendering as the default behavior.
    Open source →
  10. 2.0.4 28 Jan 2022
    Release notes
    • Proxy URL added for CORS issue on the web. One can pass empty if they don't get any CORS issue while running on web platform.
    • Now one can disable the onTap action on the card by passing empty function onTap: (){}
    • If you want to build your own UI & need just the meta data (with or without cache), then you can call the method AnyLinkPreview.getMetadata(link: "https://google.com/") which returns data of type Metadata
    • One can check if the URL is valid or not by calling AnyLinkPreview.isValidLink("https://google.com/") which returns a boolean. true if Valid, false if Invalid.
    Open source →
  11. 2.0.3 25 Jan 2022
    Release notes
    • Multiline JSON support added
    • Base64 image support is added
    Open source →
  12. 2.0.2 08 Jan 2022
    Release notes
    • 🎉 Web support added
    • Now the plugin will work for most of the links (Even for dynamic links)
    • Few minor bugs are closed from Github issues
    Open source →
  13. 2.0.1-rc 01 Jul 2021 pre-release
    Release notes
    • Minor improvements
    Open source →
  14. 2.0.0-rc 17 May 2021 pre-release
    Release notes
    • Migrated to null safety
    Open source →
  15. 1.0.8 30 Mar 2021
    Release notes
    • borderRadius giving it zero has some issue which is fixed
    • removeElevation new param added
    Open source →
  16. 1.0.7 13 Mar 2021
    Release notes
    • Flutter V2 support upgradation
    Open source →
  17. 1.0.6 26 Feb 2021
    Release notes
    • Border Radius, Color, Box shadow, are now customizable.
    Open source →
  18. 1.0.5 14 Oct 2020
    Release notes
    • Twitter posts are private, so added default twitter image for the same
    Open source →
  19. 1.0.4 21 Aug 2020
    Release notes
    • Adjustment of UI
    Open source →
  20. 1.0.3 21 Aug 2020
    Release notes
    • Added the list of apps that are already using this package
    Open source →
  21. 1.0.2 21 Aug 2020
    Release notes
    • Images added to readme file
    Open source →
  22. 1.0.1 21 Aug 2020
    Release notes
    • Package is linked to the git repo & homepage url is updated
    Open source →
  23. 1.0.0 21 Aug 2020
    Release notes
    • Parse your web URL's & show preview with in your application
    Open source →

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