---
layout: main
title: HeadJS v1.0.0 Released
excerpt: Yes, it's finally out ! Adding a few new features, and a few fixes.
scripts: ["/site/assets/libs/jquery/jquery.min.js", "https://cdn.moot.it/latest/moot.min.js", "/site/assets/js/comments.min.js"]
---

#{{ page.title }} ({{ page.date | date_to_string }})

<hr />

It's finally time for a v1 release !

First let me say that this release is way past due, so thank's to all that reported features requests and bugs to the issue tracker !

Also, no fear, this release is drop in compatible with previous versions.

So what's changed in v1 ?

- New: Detect Windows 8 Mobile (Surface RT/Pro), IE11, Kindle, and other Android devices
- New: Add Browser & Version CSS no matter what browser breakpoints are configured
  - Example: .ff .ff20
  - There is no need to cycle through all browser versions in 90% of cases
  - Makes it possible to work without any breakpoints at all
  - New: Improved CSS Router
  - View: [https://github.com/headjs/headjs/issues/227](https://github.com/headjs/headjs/issues/227)
- New: Added "main" HTML5 element to shim
  - View on Github
  - [https://github.com/headjs/headjs/pull/230](https://github.com/headjs/headjs/pull/230)
- New: Enable/Disable HTML5 Shim in head_conf
- New: Load files from Array of Files or Array of Labels
  - ``head.load(["file1", "file2"], callBack);``
  - ``head.load([{ label1: "file1" }, { label2: "file2" }], callBack);``
  - [https://github.com/headjs/headjs/issues/139](https://github.com/headjs/headjs/issues/139)
- New: Possibility to wait for multiple labels or files
  - ``head.ready(["label1", "label2"], callBack);``
  - ``head.ready(["file1.js", "file2.js"], callBack);``
  - [https://github.com/headjs/headjs/pull/212](https://github.com/headjs/headjs/pull/212)
- New: Load file via data attribute on HeadJS script tag
  - ``<script src="head.min.js" data-headjs-load="configuration.js"></script>``
  - [https://github.com/headjs/headjs/pull/213](https://github.com/headjs/headjs/pull/213)
- New: Source map files have been added for all minified JS files
- Fix: Prevent loading empty strings
  - View on Github
  - [https://github.com/headjs/headjs/pull/184](https://github.com/headjs/headjs/pull/184)
- Fix: CSS classes getting bigger on successive resizes under Chrome
  - View on Github
  - [https://github.com/headjs/headjs/issues/226](https://github.com/headjs/headjs/issues/226) 
- Fix: Invalid regular expression for CSS detection
  - View on Github
  - [https://github.com/headjs/headjs/issues/255](https://github.com/headjs/headjs/issues/255)
- Fix: callback failing to trigger under certain cirumstances
  - View on Github
  - [https://github.com/headjs/headjs/issues/262](https://github.com/headjs/headjs/issues/262)
- Divers: Changed window.frameElement detection
  - View on Github
  - [https://github.com/headjs/headjs/pull/257](https://github.com/headjs/headjs/pull/257)
- Divers: Cleaned up a bunch of syntaxt to conform to JSHint
  - Easier to find quirks
  - Now using a very strict .jshintrc
- Divers: Added missing .gitattributes
 

<div onclick="blog.loadComments(this, 'posts/release/1.0.0', 'Leave a comment')" style="cursor: pointer;">
    <h2>Show Comments</h2>
</div>
<div id="moot">&nbsp;</div>