Category Archives: changelog

Changelog for build 17991

Filed under changelog

New Feature Highlights

  • Streaming support (experimental) – http://developer.yahoo.com/yql/guide/yql-odt-streaming.html
  • Making Asynchronous Calls with JavaScript Execute – http://developer.yahoo.com/yql/guide/yql-execute-bestpractices.html#yql-execute-asynchronous_calls
  • Query parameter added to support jsonCompat=new
  • Single-element JSON arrays are corrupted into JSON objects
  • Enable round trip lossless JSON processing
  • Added y.rest.head() method support
  • Added support for “NOT IN” comparison operator
  • Improved CSV handling to cope with quotes according to RFC http://tools.ietf.org/html/rfc4180
  • Add decompress(true) on y.rest – y.rest(”http://www.apache.org”).header(”Accept-Encoding”,”gzip”).decompress(true).get();
  • Added meta data from sub queries for yql.query.multi tables
  • Added .forceCharset(“foo”) on rest object – y.rest(’http://example-domain-page.com’).forceCharset(”ISO-8859-1″).get()
  • Added .fallbackCharset(“foo1”, “foo2”) on rest object – y.rest(url).fallbackCharset(’shift_jis, ISO-8859-1′).get().response;
  • Added native support json encode/decode – y.parseJson(“str”)

New core tables

  • feednormalizer

Other features

  • Support formatted output in y.log of native arrays

Changes

  • Return the html body in case of error (HTTP status like 400, 404 etc..)

Bug fixes, including

  • Table names that contain the word ‘matches’ fail
  • Setting no value on required key through function call should return error
  • Calling a non existing function should return error
  • Validate field in sort function – sort on valid field only
  • Matrix parameters in multiple paths are now properly handled
  • JSON numbers are corrupted into JSON strings
  • y.exit() in included JS causes uncaught ExitException
  • Charset parameter in html table not working

Changelog for build 9593

Filed under changelog

New Feature Highlights

New core tables

  • Social update activity streams: social.updates.activitystreams, avatars.get, social.relationships

Other features

  • y.rest(url).path(value) should check URL for trailing slash
  • Support array based arguments for post-yql query functions

Changes

  • no notable changes

Bug fixes, including

  • Unescaped HTML entities produce invalid JSON in JSON-p
  • In execute function does not preserve JSON true/false values but turns them into strings
  • Date in yahoo:created is off by 12 hours
  • y.include() should not use base URL when including store:// URLs
  • Post function with invalid url returns duplicate warning message
  • Sort funciton doesn’t support ascending as an argument
  • XML to JSON does not work for sub-elements

Changelog for build 8743

Filed under changelog

New Feature Highlights

  • Store recent queries using HTML5 container
  • Console y.ahoo.it url shortener integrated into the console when permalinking queries – now it’s easier to grab and share long console query

New core tables

  • Yahoo Mail API
  • Social Relationship API

Other features

  • y.cache.incr() should return the new value
  • geo.placetypes adds language support

Changes

  • Preserve newlines in console output

Bug fixes, including

  • Aliased input keys are not available as variables in <execute>
  • In console set publiclyCallable to false if a user is not logged in and runs a query with an auth required table

Changelog for build 8367

Filed under changelog
New Feature Highlights:
  • Allow an <execute> outside the execute blocks to add libraries, functions
  • y.rest().ping() add a way to beacon data to statistics gathering services

New core tables

  • Fantasy Sports API

Other features

  • Improve ability to throw exceptions from execute tables
  • Update tidy library to support HTML5
  • Add y.tidy(String html) to tidy the html and return a document

<execute> changes

  • Core HTTP changes to enable better connection management and reuse

Bug fixes, including:

  • Fix Diagnostics service-time included y.query time
  • Fix Can’t “desc yql.env”
  • Fix Json array returned by a rest call results in an exception
  • Fix Debug output does not handle special characters
  • Fix paging with mode=’offset’ is ignoring the start default attribute

Changelog for build 6122

Filed under changelog
New Feature Highlights:

  • new <meta> element in YQL response envelope returns information “about” the result list
  • social.updates.search table – access the social updates firehose
  • changes to environment feature and capabilities
    • new “env” statement. You can now load envs using the “env” statement as part of the regular YQL syntax.
    • “env”s may now be nested – you can include one env from another
    • “sets” on one environment do NOT apply to any other, unless the environment is nested

New core tables

  • social.updates.search
  • yql.table.desc, yql.table.list and yql.tables tables (reflect on the available YQL tables)

Other features

  • show tables now reports the security required to use the table
  • desc <table> now works for all tables irrespective of security or connection restrictions (https) on tables

<execute> changes

  • added response.meta to enable <meta> element to be set on the response object
  • added forceCharset(String charset) to request/y.rest(..) as a way of overriding the return contentType charset.

Bug fixes, including:

  • fixed debug=true always reported the method as GET in network dump
  • including a store:// url in execute y.include intermittently caused no results to be returned – fix
  • yahoo:uri is no longer in the response envelope
  • yahoo.identity fixed

Changelog for build 5275

Filed under changelog
New Core tables

  • yql.env, automatically apply environments per app or per user per app

Bug fixes, including:

  • “content” can be used to filter in WHERE clause
  • fixed charset parameter handling in HTML table (was broken in previous build)
  • another custom redirect fix (for SPARQL table)
  • update now supports “in” as where clause

Changelog for build 4264

Filed under changelog
New feature highlights:

  • Customizable caching. Execute can now set maxage header in response (response.maxAge=300), and clients can also request a greater maxage header for increased performance (&_maxage=300).
  • Query aliases. Name your YQL queries using meaningful short names.

Core Table changes

  • New global execute element outside of bindings is prepended to all executes (to enable common js to be run over all bindings)

New Core tables

Execute changes

  • max-age header is now auto-calculated based upon queries and rest calls made in execute

Bug fixes, including:

  • Redirect handling improved
  • Upgraded memcache library
  • Batchable attribute now works correctly with paramType=”query” and “matrix”

Changelog for build 3396

Filed under changelog
New feature highlights:

  • y.rest and y.query now support timeouts
    • y.rest(..).timeout(30).get() will fail after 30ms
    • y.query(…,30) will fail after 30ms
    • An exception gets thrown if the timeout is hit

    Open Data Table schema changes

    • url/urls is now optional in the schema

    Bug fixes, including:

    • @ substitution works for paging parts of the query
    • url based paging works in more cases

    Changelog for build 3013

    Filed under changelog

    New feature highlights:

    • set verb for configuring static variables
    • yql.storage tables for storing tables, environments and more in YQL itself
    • debug mode for table development (debug=true)
    • multiple environment support

    Core table changes:

    • update for geo.placemaker table
    • social.connections.updates results are sorted by date similar to social.updates
    • csv table now has a charset key (if the source doesn’t provide one this can be used instead of the utf-8 default)

    New core tables:

    • meme.*

    Open Data Table schema changes

    • input key “as” attribute for renaming parameters

    Execute changes

    • y.env function so you can load up enviroments inside a YQL execute element.
    • y.crypto, for cryptographic signing
    • y.context (single value, table, contains the name used by the executor of this table)

    Bug fixes, including:

    • xpath and multiple IN url selects on HTML page no longer fails
    • table name is now present in execute
    • sanitize() can now take no params
    • workaround to ruby/github client-ip bug
    • update query without where clause returns error message instead return null
    • const key values are no longer mutable by the keys in the YQL query
    • add client-ip to outgoing header based on incoming authenticated IP address
    • @variables other than urls now work on data tables
    • trim whitespace around json responses to parse better (fixes itunes issue)
    • post method reverse(field=”id”) displays correct method name in error message
    • User-Agent sent via HTML fetches through YQL should indicate Yahoo Pipes 2.0 (now uses: Mozilla/5.0 (compatible; Yahoo Pipes 2.0; +http://developer.yahoo.com/yql/provider) Gecko/20090729 Firefox/3.5.2)

    Changelog for build 2174

    Filed under changelog

    New feature highlights:

    • INSERT/UPDATE/DELETE bindings and language features
    • JSONP-X feature (XML string as JSON result if format=xml and JSONP callback is specified)

    Core table changes:

    • social.updates defaults to sorting updates by date (most recent first)

    New core tables:

    • social.profile.status
    • social.connections.updates (efficiently gets updates for all connections)
    • flickr.photoset
    • geo.placemaker

    Open Data Table schema changes

    • new “url” paging model
    • new “insert”,”update” and “delete” bindings
    • new “map” and “value” input key types

    Execute changes

    • New methods on y.rest():
      • post(content), post the value of content to the url.
      • put(content), put the value of the content to the url
      • del(), send delete http verb to the url (delete is a reserved word in JavaScript? so thats why this is del)
      • contentType(string), set the content type of the payload on content (e.g. application/json)
      • accept(string), set the accept http header to a mimetype, and tell YQL what we expect the response to contain (and how to parse it)

    Bug fixes, including:

    • No microformats in a page handled better
    • Words like “Select” and “Desc” now acceptable in projection, where and function clauses
    • Map input type now works in “Select”
    • Query parameters on the console are now passed through to the YQL service
    • y.log response.object and native object fixes
    • Multiple open data table authors now shown in “desc”
    • Json table now accepts top-level arrays.
    • response.object can be appended
    • CSV parser handles commas inside quoted strings
    • Javascript array.toString() works better
    • response.headers returns headers correctly now
    • y.jsonToXml now accepts javascript objects and empty values encoded as NULL
    • multi-key joins key ordering fixed