Skip to content

Latest commit

 

History

History
257 lines (207 loc) · 12.5 KB

CHANGELOG.md

File metadata and controls

257 lines (207 loc) · 12.5 KB

Changelog

1.0.0.alpha.5 (unreleased)

New Features:

  • added enable-breakpoint and disable-breakpoint functions for toggling breakpoint output on/off
  • added archetype-bundled extension which is a "kitchen sink" bundle of Archetype core and all official extensions
  • added styleguide_allow_missing compiler option to force errors on missing styleguide identifiers

Resolved Issues:

  • allow non-multiplier values in *-spacing methods

1.0.0.alpha.4

Resolved Issues:

  • fix some boolean operations

1.0.0.alpha.3

Resolved Issues:

  • allow target-browser to be called recursively, kinda
  • Sass 3.4 compatibility

New Features:

  • added some additional helper methods for working with styleguide components:
    • styleguide-remove-component
    • styleguide-freeze-component / styleguide-thaw-component
    • styleguide-freeze-all-components / styleguide-thaw-all-components
  • added styleguide-components to retrieve a list of currently registered components
  • added styleguide-component-variants to retrieve a list of variants on a given component
  • added -styleguide-grammar method for accessing the grammar used by styleguide
  • allow special properties (with a :) in component definitions
    • this allows multiple values per property, but also allows us to modify specific keys within variants / extensions without clobbering
(
  default: (
    'target-browser:color': (ie lte 8, color, red),
    'target-browser:width': (ie lte 9, width, 120px),
    color:                red,
    'color:1':            green,
    'color:2':            blue,
    'color:custom':       #abc123
  ),
  variant: (
    color: pink,
    'color:custom':         #987fed,
    'target-browser:width': nil  // we only want to modify the target-browser that's dealing with `width`, not the one for `color`
  )
)
  • added styleguide_debug config option. when true, styleguide* methods will log debug information
    • granular options include:
      • :get, :get_granular, :diff, :add, :extend, :remove, :freeze, :grammar, :drop, :inherit, :resolve, :extract
      • e.g. styleguide_debug = [:add, :get, :grammar]
  • the styleguide mixin can now be called recursively, preserving the context correctly
// e.g. instead of doing this...
.container {
  @include styleguide(container);
  h1 {
    @include styleguide(headline in a container);
  }
}
// you can simply do...
.container {
  @include styleguide(container) {
    h1 {
      @include styleguide(headline);
    }
  }
}
  • added support for custom dynamic function calls from within styleguide component (the function should return a map)

Major Changes:

  • removed archetype-version in favor of feature-exists, variable-exists, function-exists, and mixin-exists
  • the within context keyword now matches all parent contexts (use within for global scope contexts, use in for local scope contexts -- direct parent)

1.0.0.alpha.2 (3/24/2014)

Resolved Issues:

  • fixed broken gems
  • fixed to-styles to correctly apply overrides passed in via a content block when using smart content

1.0.0.alpha.1 (3/24/2014)

Resolved Issues:

  • support Sass 3.3.0 and Compass 1.0.0
  • content is no longer improperly quoted if not needed
  • fixed IE7 :before glyphs not being positioned correctly
  • fixed IE7 potentially crashing with Operation Aborted due to glyph injection

New Features:

  • added $CONFIG_STATE_BEM and $CONFIG_BEM_MODIFIER_SEPARATOR to generate BEM style state selectors
  • added $CONFIG_BEM_ELEMENT_SEPARATOR and bem mixin
  • added bem-selector function to help compute the BEM style selector for a context
  • added str-replace function for simple Sass::Script::Value::String replacements
  • added $CONFIG_THEME_EXCLUDE takes a list of components that will be excluded (not registered)
  • added switch-locale mixin to switch the interface locale
  • styleguides now support registering maps
  • to-styles now takes a map (but still supports a key-value paired list)
  • improved debugging messages generated by styleguide and styleguide-diff
  • glyph-icons mixin now supports multiple glyph libraries as well as multiple grid sizes via $CONFIG_GLYPHS_LIBRARIES
  • glyph-icons mixin now supports multiple glyph icons on one element
  • added glyph-icons function to help with retrieving glyph info (returned in a map for access)
  • added $CONFIG_GLYPHS_OUTPUT_FALLBACK config
  • added archetype migrate command line action to test for migration/back-compat issues
  • improved locale functionality, including
    • support for more complex formats. e.g. sr_SP@Cyrillic
    • new methods to extract a piece of a locale: locale-language, locale-territory, locale-modifier
  • added derived-style and styleguide-derived-style for extracting individual style rules from maps of styles or styleguide components
  • improved memoizer scheme with option for :aggressive memoizing
  • added -archetype-list to mimic the deprecated -compass-list
  • added $CONFIG_NAMESPACE to allow namespacing global generated CSS (keyframes, font-face, etc)
  • added high-resolution mixin for scoping high resolution (HiDPI / retina) code
  • added resolution-to-* functions for converting between various resolution types (ratio, dppx, dpi, dpcm)
    • resolution_to_x, resolution-to-ratio, resolution-to-dppx, resolution-to-dpi, resolution-to-dpcm
  • added to-fraction function for converting a decimal number to a fractional representation (e.g. 1.5 -> 3/2)
  • added list-join function for joining a list into a string
  • added archetype-meta function to retrieve values set on $CONFIG_META or Compass.configuration.archetype_meta
  • added register-breakpoint and get-breakpoint functions for registering / retrieving breakpoint definitions
  • added breakpoint mixin for creating breakpoint media queries
  • added switch-locale function to assist switching locale states
  • added helper functions for working with Archetype modules: register-archetype-module, has-archetype-modules, require-archetype-modules
  • added runtime-locale-value for decorating a map so we can compute it's value respective to the locale at runtime (better support for switch-locale)
    • e.g. runtime-locale-value((default: a, en_US: b, ru_RU: c, ...))
  • added get-runtime-locale-value for selecting the value based on the current locale. this should be in conjunction with runtime-locale-value
  • added register-glyph-library, get-glyph-library, and get-all-glyph-libraries functions for registering / retrieving glyph icon libraries
  • added before and after mixins to ease the pain in styling :before and :after elements cross-browser
  • allow target-browser and target-os to accept a map of property-value pairs

Major Changes:

  • dropped support for older versions of Sass/Compass (sorry, can't pass up the new feature set)
  • removed gradient-with-deg mixin
  • removed _isLegacySupported function
  • inline-block in styleguide component has changed syntax to take proper arguments
  • dropped gradient from supported keywords in styleguide components (use background-image instead)
  • $CORE_STATE_MAPPINGS and $CONFIG_STATE_MAPPINGS are now proper Sass maps
  • styleguide function now has the same signature as the mixin and can take multiple definitions at once
  • styleguide-diff now takes two styleguide results as params
  • removed testing configuration, instead check for defined?(ArchetypeTestHelpers)
  • removed $CONFIG_GLYPHS_NAME, $CONFIG_GLYPHS_VERSION, $CONFIG_GLYPHS_SVG_ID, $CONFIG_GLYPHS_BASE_PATH, $CONFIG_GLYPHS_EOT, $CONFIG_GLYPHS_FILES, $CONFIG_GLYPHS_THRESHOLD, $CORE_GLYPHS_MAPPINGS, $CONFIG_GLYPHS_MAPPINGS and instead merged these configs into $CORE_GLYPHS_LIBRARIES and $CONFIG_GLYPHS_LIBRARIES
  • removed all RTL functions
  • styleguide-sprite* and styleguide-image* functions have been replaced with private methods (-archetype-sprite*, -archetype-image*)
  • ported many functions to ruby instead of defined as Sass user functions
  • glyph icon mappings now take a map (optionally) of format (char: characterCode, size: defaultSize) (note that the previous list support is now deprecated)
  • Archetype has now been split into smaller projects
    • the core will provide the most widely used functions/mixins with much opinion on your generated CSS
    • things that are more specialized, opinionated, or heavy-handed have been moved to extensions, these extensions currently include:
      • archetype-grid
      • archetype-theme
      • archetype-base
        • archetype-base-h5bp
        • archetype-base-normalize
        • archetype-base-reset
        • archetype-base-hybrid
    • the goal of this split is to provide consumers with the most useful and non-intrusive features upfront while still offering (via extension) the robustness we've already built

0.0.1.pre.3 (pre-released)

New Features:

  • added styleguide-component-exists method to check if a component/extension has already been registered in the theme
  • added memoize compiler configuration to allow enabling/disabling the internal styleguide memoizer
  • glyph-icon can now take false as an icon name and not output anything
  • added unstyled-button method to remove default styling from a <button> element
  • added prefixed-tag method for consistency when generating tag names
  • added Chinese font stacks
  • added wildcard support to locale function (e.g. locale(en_ ja_JP _DE))
  • added transparent-focusable mixin for transparent background support in older IE
  • added ability to customize output-style with custom-output-styler mixin and has-custom-output-styler function (NEEDS DOCUMENTATION)
  • added better support for targeting IE6/7 glyphs and ie-pseudo generated elements (NEEDS DOCUMENTATION)
  • made unique generated IDs genuinely unique
  • added support for a testing config flag
  • added support for @extend from a styleguide component

Resolved Issues:

  • quotes on strings passed to associative weren't being stripped correctly
  • fixed some minor glyph issues
  • out-of-order CSS issues in Ruby 1.8.7 are fixed using Hashery::OrderedHash
  • fixed issue with archetype-version incorrectly matching comparators

Tests:

  • added test case for fallback CSS properties
  • added test case for generating loading spinner keyframe animations
  • updated test cases for minor changes

0.0.1.pre.2 (unreleased)

New Features:

  • added HTML5 Boilerplate reset
  • updated normalize to 2.0.1
  • added support for selective states in styleguide calls (e.g. styleguide(large primary button, $state: disabled))
  • added support for drop and styleguide keywords in components
    • drop allows you to drop previously defined styles within a component definition (e.g. if you need to remove defaults)
    • styleguide in a component definition will insert the derived styles from a styleguide() call. this allows you to share styles between components
  • added styleguide-diff method
  • added ie-pseudo methods to support dynamically generating pseudo :before and :after elements (using expressions)
  • added stroke mixin to create a stroke line around text (or font icon)
  • added hide-element mixin to hide elements from screen but keep them screen-reader accessible
  • added basic support for fallback CSS values (e.g. border: red; border: rgba(255,0,0, 0.8);)
  • added $CONFIG_STATE_MAPPINGS to simplify the mapping between state names and selectors

Major Changes:

  • loading spinners now use CSS3 animations and require some integration work
  • updated default vertical/horizontal spacing to 5px
  • list-extend is now associative-merge

Resolved Issues:

  • nested inheritance would get corrupted (due to a volatile context being passed along)
  • $exclude in to-styles wasn't taking a list of keys cleanly
  • font-family and lang weren't respecting locale aliases
  • fixed thread safety issues

Documentation:

  • updated README to be a bit friendlier
  • added CONTRIBUTING
  • added RDoc documentation to source

0.0.1.pre.1 (unreleased)

New Features:

  • styleguide-add-component, styleguide-extend-component, and styleguide now take a $theme parameter
  • $CONFIG_THEME can change the global theme
  • $CONFIG_DISABLE_STYLEGUIDE_SPRITES will prevent styleguide sprites from being generated if set to true
  • theme components are cached
  • styleguide calls are memoized

Major Changes:

  • filter mixin is now ie-filter to prevent conflicts with Compass' filter mixin
  • Compass overrides are no longer loaded as Archetype core

Resolved Issues:

  • no known issues to resolve

Documentation:

  • added README