Skip to content

1.0.0

Compare
Choose a tag to compare
@adamyanalunas adamyanalunas released this 24 Oct 18:41
· 52 commits to master since this release

Version 1.0.0

This is a major revision which means APIs will break. It is not backwards compatible with 0.1.x releases. Code from 0.1.x branches will no longer be supported. Please update!

Demo Project

  • Added descriptions and examples on how to use various features to demo project

Metrics

  • Added metricNamed:valued: to LibratoMetric (0e10150)
  • Added metricNamed:valued:source:measureTime: to LibratoMetric (0e10150)
  • Fixed metricTime not being set when passed in via metricNamed:valued:options: (0e10150)
  • Changed metrics to extend Mantle instead of NSObject (e418ff7)
  • Changed isValidValue from instance to class method
  • Changed maximum metric age from one year to fifteen minutes (Librato Metric rules) (53fbe0b)
  • Added automatic collection of device, OS, app and Librato library metrics when a Librato instance is initialized (5ce4d5d)
  • Fixed LibratoClient.metrics to report queued metrics instead of blank NSDictionary
  • Fixed queue firing removeAllObjects when clearing instead of overwriting with new NSMutableDictonary so dictionary children are released. (704c245)

Collections

  • Added LibratoMetricCollection which contains metrics based on type and handles conversion of metrics into structured JSON (704c245)

Initialization

  • Added NSAsserts in Librato, LibratoMetric and LibratoGaugeMetric init to disable use in favor of their custom initialization methods (ebc4dcd)

Submission

  • Added add: interface which is preferred over submit:
  • Changed manual submission to an optional command as queues are automatically submitted on a configurable interval (fda9cba)
  • Added global block handlers for submission success and failure (e3e095c)
  • Changed queue to clear just before firing submission instead of after successful submission to prevent accidental double submission (5ce4d5d)
  • Note: Queue is not cached before clearing, would could be useful if submission fails to re-queue items

Offline

  • Added prevention of metrics submission if device is offline (704c245)
  • Added automatic queue submission when internet becomes available
  • Added storage of queue in NSKeyedArchiver when app is backgrounded
  • Added queue hydration via NSKeyedArchiver when app is brought to foreground

Group metrics

  • Added groupNamed:valued: to convert an NSDictionary into an array of LibratoMetrics (fa4a9a5)
  • Added groupNamed:context: to automatically prefix any metrics created in the context with the group name

Notification subscription

  • Added ability of Librato to subscribe to notifications with listenForNotification:context: and perform given context when notification is caught (4a7b5a9)
  • Added queue specific to Librato subscriptions for dispatch_asyncing execution of assigned context

User agent

  • Added custom user agent setting available in Librato (24e9edb)
  • Removed agentIdentifier from LibratoClient

Descriptions

  • Added custom descriptions for Librato, LibratoClient, LibratoMetric, LibratoMetricCollection and LibratoQueue to aid debugging (704c245)

Miscellaneous

  • Removed numerous NSLogs. Sorry about the extra noise. (474fe9a, 7433254)