diff --git a/timeago.install b/timeago.install
index 064ef61..4538161 100644
--- a/timeago.install
+++ b/timeago.install
@@ -9,24 +9,69 @@
  * Implements hook_requirements().
  */
 function timeago_requirements($phase) {
+  // Path to jquery.timeago.js
+  if (module_exists('libraries')) {
+    $path = 'sites/all/libraries/timeago/jquery.timeago.js';
+  }
+  else {
+    $path = drupal_get_path('module', 'timeago') . '/jquery.timeago.js';
+  }
   $t = get_t();
   $requirements = array('timeago' => array(
-    'title' => $t('Time ago library'),
-    'value' => '0.9.3',
+      'title' => $t('Time ago library'),
   ));
-  $exists = file_exists(drupal_get_path('module', 'timeago') . '/jquery.timeago.js');
+  $exists = file_exists($path);
+
+  // If file exists...
   if ($exists) {
-    $requirements['timeago']['description'] = $t('Library exists.');
-    $requirements['timeago']['severity'] = REQUIREMENT_OK;
+    // Get version information
+    $version = timeago_get_version($path);
+    $requirements['timeago']['value'] = $version;
+    // Check for updates...
+    $update_version = timeago_get_version('http://timeago.yarp.com/jquery.timeago.js');
+    // Update available
+    if ($update_version > $version) {
+      $requirements['timeago']['description'] = $t('It appears that a newer version of this library is available. You may want to download the latest version from <a href="http://timeago.yarp.com/jquery.timeago.js">http://timeago.yarp.com/jquery.timeago.js</a> and overwrite the current version located at ' . "@path.", array('@path' => $path));
+      $requirements['timeago']['severity'] = REQUIREMENT_WARNING;
+    }
+    // Everything okay
+    else {
+      $requirements['timeago']['description'] = $t('Library exists and is up to date.');
+      $requirements['timeago']['severity'] = REQUIREMENT_OK;
+    }
   }
+  // File does not exist
   else {
-    $requirements['timeago']['description'] = $t('Library does not exist. <a href="http://timeago.yarp.com/jquery.timeago.js">Download the library</a> and put it in the timeago module folder.');
+    $requirements['timeago']['description'] = $t('Library does not exist. <a href="http://timeago.yarp.com/jquery.timeago.js">Download the library</a> and put it at ' . "@path.", array('@path' => $path));
     $requirements['timeago']['severity'] = ($phase == 'runtime' ? REQUIREMENT_ERROR : REQUIREMENT_WARNING);
   }
   return $requirements;
 }
 
 /**
+ * Returns param version of a file, or false if no version detected.
+ * @param $path
+ *  The path of the file to check.
+ * @param $pattern
+ *  A string containing a regular expression (PCRE) to match the
+ *  file version. For example: '@version\s+([0-9a-zA-Z\.-]+)@'.
+ */
+function timeago_get_version($path, $pattern = '@version\s+([0-9a-zA-Z\.-]+)@') {
+  $version = false;
+  $file = fopen($path, 'r');
+  if ($file) {
+    while ($line = fgets($file)) {
+      if (preg_match($pattern, $line, $matches)) {
+        $version = $matches[1];
+        break;
+      }
+    }
+    fclose($file);
+  }
+  return $version;
+}
+
+/**
  * Implements hook_uninstall().
  */
 function timeago_uninstall() {
diff --git a/timeago.module b/timeago.module
index cd2b65e..7721c38 100644
--- a/timeago.module
+++ b/timeago.module
@@ -83,7 +83,7 @@ function timeago_library() {
     'timeago' => array(
       'title' => t('Time ago'),
       'website' => 'http://timeago.yarp.com/',
-      'version' => '0.9.3',
+      'version' => '0.10.0',
       'js' => array(
         $path . '/jquery.timeago.js' => array(),
         $path . '/timeago.js' => array(),
@@ -93,6 +93,28 @@ function timeago_library() {
 }
 
 /**
+ * Implements hook_libraries_info().
+ */
+function timeago_libraries_info() {
+  return array(
+    'timeago' => array(
+      'name' => t('Time ago'),
+      'vendor url' => 'http://timeago.yarp.com/',
+      'download url' => 'http://timeago.yarp.com/jquery.timeago.js',
+      'version arguments' => array(
+        'file' => 'jquery.timeago.js',
+        'pattern' => '@version\s+([0-9a-zA-Z\.-]+)@', // e.g. @version 0.10.0
+      ),
+      'files' => array(
+        'js' => array(
+          'jquery.timeago.js' => array(),
+        ),
+      ),
+    ),
+  );
+}
+
+/**
  * Implements hook_process_node().
  *
  * We have to use process instead of preprocess because some themes (notably
@@ -167,7 +189,14 @@ function timeago_tokens($type, $tokens, array $data = array(), array $options =
 function timeago_add_js() {
   // Add the Timeago library, the module's helper JS, and the default Drupal
   // translation of Timeago date terms.
-  drupal_add_library('timeago', 'timeago');
+  if (module_exists('libraries')) {
+    $path = drupal_get_path('module', 'timeago') . '/timeago.js';
+    drupal_add_js($path);
+    libraries_load('timeago');
+  }
+  else {
+    drupal_add_library('timeago', 'timeago');
+  }
   // Some languages (Arabic, Polish, Russian, Ukranian, etc.) have different
   // suffixes depending on the numbers used in the dates, so we may need to
   // have more complex translations than Drupal allows. To support these cases,
