Category Archives: changelog

New enhancements to the YQL console and editor

Filed under changelog, feature

Some new enhancements were recently made to the YQL console and editor.

Console:

  • New debug checkbox.
    • Checking this will simply add debug=true to your console URL. When debug=true is set, it enables open table debugging and viewing of YQL network calls.
  • New expand checkbox.
    • Checking this will expand the results section to full height.
  • Renamed “My Tables” to “My YQL”.
    • With this release, you have the ability to create YQL tables, environments and js files via the editor. The My YQL section lists those files based on those types. This is the section where you can launch the editor to edit the files and the area where you can delete your files.

      Some actions when clicking on the file names:

      • Clicking on a table name will put the store execute key into the yql statement area and desc the table.
      • Clicking on an environment name will load that environment by adding env=store://(your store execute key here) to the console.
      • JS files are only editable via the YQL editor.

      Only you will know what YQL files you have created, since you need to be logged in to create and view them. But you can share your YQL file store execute keys, as they can be run by anyone after sharing. Only share them if you want others to run that file.

Editor:

  • The ability to create different YQL file types.
    • You now can create Tables, YQL environments and JS files. Simply select the “Save as” drop down to save the type of file needed.
    • Regarding JS files, these are files you can y.include() into your execute statement in a table.
  • Dragging a YQL file from the sidebar onto the editor will produce a contextual code snippet.

    editor

    • Saving file as: Table or JS
      • Dragging a Table file will produce: y.use("store://execute key here","namespace here");
      • Dragging a Environment file will produce: y.env("store://execute key here");
      • Dragging a JS file will produce: y.include("store://select key here");
    • Saving file as: Environment
      • Dragging a Table file will produce: use "store://execute key here" as name_space;
      • Dragging a Environment file will produce: env "store://execute key here";
      • Dragging a JS file will produce:
        set change_var_name="store://select key here" on change_to_table;
  • Full screen layout
  • Sidebar which contains Sample templates, keys of a table, and a list of your files by type.
  • Changed file access FROM: tableid=id_here TO: id=id_here

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)