- add support for rounding precision
- fix extends with parent reference. Closes #879
- fix importing of files with ".css" in the dirname
- fix #619 Support slash in media
- fix #819 Extends generate duplicate selectors
- fix #807 directory with
.stylin the name and local install of stylus - fix #814 Add property function with media query
- fix #828 Add 'x' unit for image-set (synonym to dppx).
- fix #834 Percentage calculation not used when value is expression
- fix mozdocument nodes not getting visited during imports. Fixes #853
- add @-moz-document to the lexer and parser. Fixes #436
- add --import for issue #485
- fix @property lookup when a sibling is null
- fix 'limit' file size option that was broken in 61a2cf
- fix pseudo-selector properties. Closes #808
- add more features to the textmate bundle [paulmillr]
- add
json()BIF for loading variables from JSON files [geddesign] - fix for #790 allow trailing colon, comma etc in // comments [geddesign]
- fix extend in mixin. Closes #747, #748 and #751
- fix @media cloning
- add suffix to
basename()BIF - add
pathjoin()BIF - add
basename()BIF - add
dirname()BIF - add
extname()BIF - fix
@extendin mixin. Closes #638
- Adding list of all css3 units
- Fixed CSS to stylus conversion
!importantsupport - Fix last rule being ignored if empty indents at the end of the file
- Fixes #425: Compiler hangs when the last property isn't followed by semicolon at the end of the document
- Fixes #435: Can't concat array inside url()
- Fixes #698: incorrect function call within for with named argument [Tõnis Tiigi]
- Fixes #676. Stylus incorrectly imports the .css files that are not in the same folder as the processed .styl file
- Added
add-property()mixin support [jasonkuhrt] - Added % support for
fade-in()andfade-out()[jasonkuhrt] - Added % support to
rgba()[jasonkuhrt] - Fixed
.import()- previously failed to mixin
- any node. Closes #657
- Added BIF shift [gravof]
- Added BIF pop [gravof]
- Added support for @media bubbling properties [Ian MacLeod]
- Changed: strip trailing zeros [gravof]
- Added
make test-cov - Added temporary multiline support.
- Added: allow for '%' unit type in the 'alpha' of rgba and hsla [jasonkuhrt]
- Updated cssom dep
- Removed growl dep. Closes #583
- Fixed BIF retval coercion
- Fixed issue #390, nested @media
- Added
mix()BIF (docs needed) - Added: cast return values from js functions
- Fixed binops in mixin selectors. Closes #566
- Fixed
opposite-position()pass through "center"`
- Added
Renderer"end" event - Added: cast return value from js-functions
- Cleaned up documentation grammar etc [Zearin]
- Fixed postfix conditional cloning. Closes #535
- Fixed idents prefixed with several hyphens. Closes #536
- Fixed up the TextMate bundle syntax [ianstormtaylor]
- Fixed underscore in function identifier. Closes #524
- Fixed @extends inheritance bug. Closes #499
- Fixed 'lineno' global leak due to missing
new[teppeis]
- Fixed
--watchworking on windows with a temporary hack [dciccale] - Fixed @extend with no properties. Closes #498
- Added: allow newlines in place of commas for keyframes
- Fixed: skip comment newlines between keyframe positions. Closes #504
- Fixed @keyframes support for multiple values. Closes #503
- Added
@extend. Closes #149 - Added more syntax highlighting to TextMate bundle [paulmillr]
- Added
keys(pairs)andvalues(pairs)BIFs - Added JavaScript object coercion support
- Added JavaScript -> Stylus node coercion utilities
- Fixed
.define()ing of functions - Fixed
stylus(1)repl for 0.6.x
- Fixed literal / within function call. Closes #432
- Fixed space after
)in selectors. Closes #449
- Added unit casting, ex:
(n * 5)%. Closes #285
- Added global leak detection to the test suite
- Fixed two globals
- Fixed operator ident regression. Closes #292
- Added
--include-cssto literally include imported CSS. Closes #448 - Fixed coercion bug with expression. Closes #480
- Fixed middleware
mkdir -psupport
- Fixed
orbinop regression. Closes #475
- Fixed current-property with commas. Closes #472
- revert noop visitor methods, this breaks extensions
- Fixed css-style @page support
- Fixed @page block evaluation
- Fixed @font-face block evaluation [Suor]
- Added "include css" setting (need docs) to literally include imported css. Closes #448
- Added EOL escape. Related to #195
- Fixed tab support in lexical analysis (trailing colors etc). Closes #460
- Fixed "in" within selectors. Closes #458
- Added
spin()BIF (same ascolor + 50degetc) - Removed "sys" require()s for 0.6.x
- Fixed sibling property lookup bug. Closes #452
- Fixed: retain original quote for strings
- Added property lookup bubbling support. Closes #446
- Added "indent spaces" compiler setting. Closes #445
- Allow node > 0.4.x < 0.7.0
- Fixed: allow function execution within @imports
- Added #n support (#e -> #eeeeee). Closes #430
- Added #nn support (#ef -> #efefef)
- Added support for rgb percentages.
- Fixed property rendering in blocks. Closes #440
- Added
@scope <selector>feature to scope all subsequent selectors - Added list equality to the
!=operator - Added list equality to the
==operator - Added mkdir -p support to the middleware
- Changed:
!coerces expression not the first value - Fixed Ternary boolean coercion. Closes #420
- Fixed @font-face @import regression. Closes #418
- Added
mkdir -psupport to the middleware - Added
@import url(string)support. Closes #352 - Added
fade-in()andfade-out()BIFs - Adding prefixes for Opera and IE
- Fixed comments trailing @media. Closes #415 [guillermo]
- Fixed: Output from --help in stylus executable cut-off half way through
- Changed: treat -/+ operations with percentages as lighten()/darken(). Closes #401
- Fixed
String#coerce()for Expressions
- Added
-U, --inlineto stylus(1) - Added
remsupport. Closes #395 - Fixed @charset semi-colon. Closes #400
- Fixed infinite loop in
Parser#function(). Closes #393
- Added alias
:=of?=. Closes #389 - Removed auto-prefixing of pseudo element selectors. Closes #385
- Changed: when left-hand operand has no unit assign the right
- Fixed @keyframes with @import regression. Closes #372
- Fixed css @import within blocks regression. Closes #388
- Fixed unwrapping of property args expression. Closes #379
- Fixed @prop access scope issue, use closet block, not current
- Fixed @font-face. Closes #375
- Added pseudo-element vendor expansion support
- Added
@keyframeexpansion support. Closes #293 - Added support for arbitrary
@-VENDOR-keyframessupport - Added support for
@propertymixin property access Closes #363 - Added
/*!support to comments to disable suppression - Changed: allow uses to append
.stylwhen importing. Closes #366 - Fixed paren matching issue. Closes #368
- Fixed windows absolute path checking Added
utils.absolute(path) - Fixed
Ident#clone()with.propertyflag - Fixed evaluation of expression when using @name. Closes #361
- Fixed
path.join()usage inutils.lookup(). Closes #356 - Fixed space after comment regression. Closes #360
- Adding
Renderer#get(option) - Added the ability to reference property values with
@<name>. Closes #344 - Changed comment output. css-style multi-line comments are preserved
- Fixed issue with bools in selectors. Closes #280
- Added firebug original file / line number mapping [parallel]
- Added support for
#rgbaand#rrggbbaacolor formats - Changed: fix alpha to a scale of 2
- Fixing function param check to allow for empty function arguments
- Fixed
lighten()BIF 'lighten by %' function push color closer to white [cwolves] - Fixed cli plugin usage absolute paths, don't prepend the CWD [cpojer]
- Renaming 'import' to '_import' because import is a reserved word in node v0.5
- Added
PIand-math-prop(name) - Added
cos()andsin() - Added support for SVG data URIs [mhemesath]
- Rename variable "import" to "imported" [eegg]
- Added
js(str)BIF - Fixed reserved keyword
importwithimported
- Added
@-webkit-keyframessupport. Closes #307 - Added gedit language-spec
- Changed: optional
growldep for stylus(1) - Changed:
require("stylus")instead of../for the mac app integration
- Fixed middleware handling of new and removed
@imports [brandonbloom]
- Added Compile and Display CSS TextMate command (⌘B) [Daniel Gasienica]
- Fixed caching behavior for recompilation of files with changed imports [Brandon Bloom]
- Added padding for error linenos so they line up
- Improved unary op error messages
- Improved invalid
@keyframesident error msg - Fixed HSLA regression for operations resulting in a bool. Closes #274
- Fixed
argumentsissue with excluding defaults. Closes #272
- Fixed colors after
url()call regression. Closes #270
- Fixed colors in
url(). Closes #267 - Fixed selector without trailing comma containing selector token. Closes #260
- Added
-u, --use PATHflag for utilizing plugins - Fixed
hsla.clampDegrees()with negative values [Bruno Héridet]
- Added support for underscore in identifiers. Closes #247
- Fixed
@keyframeblock evaluation. Closes #252
- Fixed
0%in@keyframesfrom becoming0when compressed. Closes #248
- Fixed issue with
^=attr selector causing infinite loop. Closes #244 - Fixed multiple occurrences of
&in selectors. Closes #243
- Fixed spaces around line-height shorthand. Closes #228
- Fixed
-{foo}interpolation support. Closes #235
- Added
*prop: valhack support (blueprint / html boilerplate etc parse fine now) - Added selector interpolation support
- Fixed "-" within interpolation. Closes #220
- Added
SyntaxErrorandParseError - Removed
stylus.parse() - Fixed error reporting. Closes #44
- Fixed mutation of units when using unary ops. Closes #233
- Fixed regression. Closes #229
- Fixed issue with large selectors spanning several lines
- Added support for
Renderer#define(name, node)to define a global
- Added
Renderer#use(fn). Closes #224 - Improved
utils.assertType()error message; include param name
- Fixed: node.source and node.filename are writable
- Added / employed
Null#isNull - Added / employed
Boolean#is{True,False} - Removed all uses of
instanceof - Removed all equality checks between singleton nodes
- Added
Arguments#clone() - Added
push()/append() - Added
unshift()/prepend()BIFs
- Fixed: keyword args previously not evaluated
- Fixed: subpixel support
- Fixed bug preventing combinators (and other ops) in
@mediablocks. Closes #216 [reported by jsteenkamp]
- Added
Renderer#include(path). Closes #214 - Fixed
@importpath resolution bug. Closes #215 - Fixed optional keyword arg bug. Closes #212
- Fixed regression preventing commas from outputting
- Added
HSLA#add(h,s,l,a) - Added
HSLA#sub(h,s,l,a) - Added
RGBA#add(r,g,b,a) - Added
RGBA#sub(r,g,b,a) - Added
RGBA#multiply(n) - Added
RGBA#divide(n) - Added
HSLA#adjustHue(deg) - Added
HSLA#adjustLightness(percent) - Added
HSLA#adjustSaturation(percent) - Added
linear-gradient()example - Added
s(fmt, ...)built-in; sprintf-like - Added
%sprintf-like string operator, ex:'%s %s' % (1 2) - Added
current-propertylocal variable - Added
add-property(name, val) - Added the ability for functions to duplicate the property they are invoked within
- Added
[]=operator support. Ex:fonts[1] = arial,nums[1..3] = 2 - Added
-I, --include <path>to stylus(1). Closes #206 - Added support for
50 + 25% == 75 - Added support for
rgba + 25%to lighten - Added support for
rgba - 25%to darken - Added support for
rgba - 25to adjust rgb values - Changed: null now outputs "null" instead of "[Null]"
- Fixed hsl operation support, all operations are equivalent on rgba/hsla nodes
- Fixed degree rotation
- Added keyword argument support
- Added
Argumentsnode, acts likeExpression - Added
utils.params() - Added
debugoption to stylus middleware - Added support for
hsl + 15degetc to adjust hue - Added special-case for percentage based
RGBAoperations (#eee - 20%) - Changed: right-hand colors in operations are not clamped (
#eee * 0.2) - Added support for
unit * color(swaps operands) - Fixed color component requests on the opposite node type (ex red on hsla node)
- Fixed
Expression#clone()to supportArguments - Fixed issue with middleware where imports are improperly mapped
- Fixed mutation of color when adjusting values
- Fixed: coerce string to literal
- Removed {
darken,lighten}-by()BIFs
- Removed a
console.log()call
-
Fixed connect middleware
@importsupport. Closes #168 The middleware is now smart enough to know when imports change, and will re-compile the target file. -
Changed middleware
compilefunction to return theRenderer(API change)
- Added
-i, --interactivefor the Stylus REPL (eval stylus expressions, tab-completion etc) - Added link to vim syntax
- Changed
p()built-in to display parens - Changed
--compress -Cto-c, and-css -cis now-C - Fixed: preserve rest-arg expressions. Closes #194
- Fixed
*=in selector, ex[class*="foo"] - Fixed
--watchissue with growl, updated to 1.1.0. Closes #188 - Fixed negative floats when compressed. Closes #193 [reported by ludicco]
- Added postfix
for-loop support. Ex:return n if n % 2 == 0 for n in nums - Added support for several postfix operators
Ex:
border-radius: 5px if true unless false; - Added
last(expr)built-in function - Added
sum(nums)built-in function - Added
avg(nums)built-in function - Added
join(delim, vals)built-in function - Added
Evaluator#{currentScope,currentBlock} - Added multi-line function paramter definition support
- Changed:
0is falsey,0%,0em,0pxetc truthy. Closes #160 - Fixed
forimplicit return value - Fixed
forexplicit return value - Fixed mixin property ordering
- Added
RGBAnode - Added
is a "color"special-case, true forHSLAandRGBAnodes. Closes #180 - Performance; 2.5× faster compiles due to removing use of getters in
ParserandLexer(yes, they are really slow). - Removed
Colornode - Fixed stylus(1)
--watchsupport due to dynamic@importsupport. Closes #176
- Fixed: allow semi-colons for non-css syntax for one-liners
- Added
isntoperator (same asis notand!=) - Added support for dynamic
@importexpressions - Added
@importindex resolution support - Added
light()/dark()BIFs - Added
compressoption for Connect middleware [disfated] - Changed: most built-in functions defined in stylus (
./lib/functions/index.styl) - Fixed dynamic expressions in
url(). Closes #105
- Fixed connect middleware for 0.4.x
- Added
isandis notaliases for==and!= - Added
@keyframesdynamic name support - Fixed units in interpolation
- Fixed clamping of HSLA degrees / percentages
- Fixed RGBA -> HSLA conversion due to typo
- Added string -> unit type coercion support aka
5px + "10"will give15px - Added
warnoption Closes #152 Currently this only reports on re-definition of functions - Added
$as a valid identifier character - Added
mixinlocal variable for function introspection capabilities. Closes #162 - Fixed typo:
Unit#toBoolean()is now correct - Fixed interpolation function calls. Closes #156
- Fixed mixins within Media node. Closes #153
- Fixed function call in ret val. Closes #154
- Fixed parent ref
&mid-selector bug. Closes #148 [reported by visnu]
- Fixed
forwithin brackets. Closes #146
- Fixed single-ident selectors. Closes #142
- Fixed cyclic
@importwith file of the same name. Closes #143
- Added stylus(1) growl support when using
--watch - Added
@importwatching support to stylus(1). Closes #134 - Changed: stylus(1) only throws when
--watchis not used - Fixed
darken-by()BIF - Fixed
@importliteral semi-colon. Closes #140
- Fixed evaluation of nodes after a return. Closes #139
-
Added
stylus(1)direct css to stylus file conversion [Mario] For example instead of$ stylus --css < foo.css > foo.stylyou may now either$ stylus --css foo.cssor provide a destination path$ stylus --css foo.css /tmp/out.styl. -
Added postfix conditionals. Closes #74 Expressive ruby-ish syntax, ex:
padding 5px if allow-padding.
- Added
inoperator.3 in nums,padding in propsetc - Added
Expression#hash, hashing all of the nodes in order - Added tests for conditionals with braces. Closes #136
- Fixed ids that are also valid colors. Closes #137
- Fixed spaces after
}with css-style. Closes #131 - Fixed single-line css-style support. Closes #130
- Fixed mixin property ordering. Closes #125
- Added
lighten-by()BIF - Added
darken-by()BIF
- Added support for function definition braces
- Fixed issue with invalid color output. Closes #127
- Added css-style syntax support
- Fixed support for
*selector within@mediablocks
- Fixed property disambiguation logic. Closes #117
You no longer need to add a trailing comma when
chaining selectors such as
td:nth-child(2)\ntd:nth-child(3)
- Added more assignment operators. Closes #77
+=,-=,*=,/=, and%=
- Fixed
--compresswhen passing files for stylus(1). Closes #115 - Fixed bug preventing absolute paths from being passed to
@import - Fixed
opposite-position()with nested expressions, unwrapping - Fixed a couple global var leaks [aheckmann]
-
Added:
url()utilizing general lookup paths. This means that{ paths: [] }is optional now, as lookups will be relative to the file being rendered by default. -
Added
-w, --watchsupport to stylus(1). Closes #113
- Added
opposite-position(positions)built-in function - Added
image-lookup(path)built-in function - Added
-o, --out <dir>support to stylus(1) - Added
stylus [file|dir ...]support - Added: defaulting paths to
[CWD]for stylus(1) - Changed:
unquote()usingLiteralnode - Changed: utilizing
Literalin place of someIdents
- Added optional property colon support. Closes #110
- Added
--versionto stylus(1)
- Initial release