sass 3.3.0 → 3.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/VERSION_DATE +1 -1
- data/lib/sass/importers/filesystem.rb +3 -3
- data/lib/sass/plugin/compiler.rb +95 -52
- data/lib/sass/script/functions.rb +1 -1
- data/lib/sass/source/map.rb +3 -3
- data/lib/sass/util.rb +16 -1
- data/vendor/listen/CHANGELOG.md +175 -35
- data/vendor/listen/Gemfile +5 -15
- data/vendor/listen/README.md +111 -77
- data/vendor/listen/Rakefile +0 -42
- data/vendor/listen/lib/listen.rb +33 -19
- data/vendor/listen/lib/listen/adapter.rb +193 -82
- data/vendor/listen/lib/listen/adapters/bsd.rb +27 -64
- data/vendor/listen/lib/listen/adapters/darwin.rb +21 -58
- data/vendor/listen/lib/listen/adapters/linux.rb +23 -55
- data/vendor/listen/lib/listen/adapters/polling.rb +25 -34
- data/vendor/listen/lib/listen/adapters/windows.rb +50 -46
- data/vendor/listen/lib/listen/directory_record.rb +96 -61
- data/vendor/listen/lib/listen/listener.rb +135 -37
- data/vendor/listen/lib/listen/turnstile.rb +9 -5
- data/vendor/listen/lib/listen/version.rb +1 -1
- data/vendor/listen/listen.gemspec +6 -0
- data/vendor/listen/spec/listen/adapter_spec.rb +37 -82
- data/vendor/listen/spec/listen/adapters/polling_spec.rb +8 -8
- data/vendor/listen/spec/listen/directory_record_spec.rb +81 -56
- data/vendor/listen/spec/listen/listener_spec.rb +128 -39
- data/vendor/listen/spec/listen_spec.rb +15 -21
- data/vendor/listen/spec/spec_helper.rb +4 -0
- data/vendor/listen/spec/support/adapter_helper.rb +52 -15
- data/vendor/listen/spec/support/directory_record_helper.rb +7 -5
- data/vendor/listen/spec/support/listeners_helper.rb +30 -7
- metadata +3 -23
- data/ext/mkrf_conf.rb +0 -27
- data/vendor/listen/lib/listen/dependency_manager.rb +0 -126
- data/vendor/listen/lib/listen/multi_listener.rb +0 -143
- data/vendor/listen/spec/listen/dependency_manager_spec.rb +0 -107
- data/vendor/listen/spec/listen/multi_listener_spec.rb +0 -174
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00ce55eecd20af52a6712635d3a84486d0524d17
|
4
|
+
data.tar.gz: a1bc287c093a6734feb94163397079f6a5b190fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4822bc891a972b0a3d245a8fff165a0ed559c46ec2255c5367f5fab702c154b25ef5ec0caf2fc9598ac7d86a08979cb4771a5fc29d03fa8afc56f907ab041f28
|
7
|
+
data.tar.gz: 15184a93e273e4accba3429c0a082b65ea4470a2a6497d22cd0bb03082c0ccaab50b1ceb2905edd1f91d3bcbf305de219a474b6f567dbeeacf02ecd19925a0eb
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.
|
1
|
+
3.3.1
|
data/VERSION_DATE
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
10 March 2014 23:45:31 UTC
|
@@ -68,8 +68,8 @@ module Sass
|
|
68
68
|
if sourcemap_directory.nil?
|
69
69
|
warn_about_public_url(name)
|
70
70
|
else
|
71
|
-
file_pathname = Sass::Util.
|
72
|
-
sourcemap_pathname = Sass::Util.
|
71
|
+
file_pathname = Sass::Util.cleanpath(Sass::Util.absolute_path(name, @root))
|
72
|
+
sourcemap_pathname = Sass::Util.cleanpath(sourcemap_directory)
|
73
73
|
begin
|
74
74
|
file_pathname.relative_path_from(sourcemap_pathname).to_s
|
75
75
|
rescue ArgumentError # when a relative path cannot be constructed
|
@@ -147,7 +147,7 @@ module Sass
|
|
147
147
|
"#{escape_glob_characters(dir)}/#{f}"
|
148
148
|
Dir[path].map do |full_path|
|
149
149
|
full_path.gsub!(REDUNDANT_DIRECTORY, File::SEPARATOR)
|
150
|
-
[Sass::Util.
|
150
|
+
[Sass::Util.cleanpath(full_path).to_s, s]
|
151
151
|
end
|
152
152
|
end
|
153
153
|
found = Sass::Util.flatten(found, 1)
|
data/lib/sass/plugin/compiler.rb
CHANGED
@@ -226,6 +226,11 @@ module Sass::Plugin
|
|
226
226
|
end
|
227
227
|
directories = remove_redundant_directories(directories)
|
228
228
|
|
229
|
+
# A Listen version prior to 2.0 will write a test file to a directory to
|
230
|
+
# see if a watcher supports watching that directory. That breaks horribly
|
231
|
+
# on read-only directories, so we filter those out.
|
232
|
+
directories.reject {|d| File.writable?(d)} unless Sass::Util.listen_geq_2?
|
233
|
+
|
229
234
|
# TODO: Keep better track of what depends on what
|
230
235
|
# so we don't have to run a global update every time anything changes.
|
231
236
|
listener_args = directories + [{:relative_paths => false}]
|
@@ -240,49 +245,7 @@ module Sass::Plugin
|
|
240
245
|
end
|
241
246
|
|
242
247
|
listener = create_listener(*listener_args) do |modified, added, removed|
|
243
|
-
|
244
|
-
|
245
|
-
modified.uniq.each do |f|
|
246
|
-
next unless watched_file?(f)
|
247
|
-
recompile_required = true
|
248
|
-
run_template_modified(relative_to_pwd(f))
|
249
|
-
end
|
250
|
-
|
251
|
-
added.uniq.each do |f|
|
252
|
-
next unless watched_file?(f)
|
253
|
-
recompile_required = true
|
254
|
-
run_template_created(relative_to_pwd(f))
|
255
|
-
end
|
256
|
-
|
257
|
-
removed.uniq.each do |f|
|
258
|
-
if (files = individual_files.find {|(source, _, _)| File.expand_path(source) == f})
|
259
|
-
recompile_required = true
|
260
|
-
# This was a file we were watching explicitly and compiling to a particular location.
|
261
|
-
# Delete the corresponding file.
|
262
|
-
try_delete_css files[1]
|
263
|
-
else
|
264
|
-
next unless watched_file?(f)
|
265
|
-
recompile_required = true
|
266
|
-
# Look for the sass directory that contained the sass file
|
267
|
-
# And try to remove the css file that corresponds to it
|
268
|
-
template_location_array.each do |(sass_dir, css_dir)|
|
269
|
-
sass_dir = File.expand_path(sass_dir)
|
270
|
-
if child_of_directory?(sass_dir, f)
|
271
|
-
remainder = f[(sass_dir.size + 1)..-1]
|
272
|
-
try_delete_css(css_filename(remainder, css_dir))
|
273
|
-
break
|
274
|
-
end
|
275
|
-
end
|
276
|
-
end
|
277
|
-
run_template_deleted(relative_to_pwd(f))
|
278
|
-
end
|
279
|
-
|
280
|
-
if recompile_required
|
281
|
-
# In case a file we're watching is removed and then recreated we
|
282
|
-
# prune out the non-existant files here.
|
283
|
-
watched_files_remaining = individual_files.select {|(source, _, _)| File.exists?(source)}
|
284
|
-
update_stylesheets(watched_files_remaining)
|
285
|
-
end
|
248
|
+
on_file_changed(individual_files, modified, added, removed)
|
286
249
|
end
|
287
250
|
|
288
251
|
if poll && !Sass::Util.listen_geq_2?
|
@@ -313,7 +276,7 @@ module Sass::Plugin
|
|
313
276
|
private
|
314
277
|
|
315
278
|
def create_listener(*args, &block)
|
316
|
-
|
279
|
+
load_listen!
|
317
280
|
if Sass::Util.listen_geq_2?
|
318
281
|
Listen.to(*args, &block)
|
319
282
|
else
|
@@ -323,16 +286,12 @@ module Sass::Plugin
|
|
323
286
|
|
324
287
|
def listen_to(listener)
|
325
288
|
if Sass::Util.listen_geq_2?
|
326
|
-
listener.start
|
327
|
-
listener.thread.join
|
328
|
-
listener.stop # Partially work around guard/listen#146
|
289
|
+
listener.start.join
|
329
290
|
else
|
330
|
-
|
331
|
-
listener.start!
|
332
|
-
rescue Interrupt
|
333
|
-
# Squelch Interrupt for clean exit from Listen::Listener
|
334
|
-
end
|
291
|
+
listener.start!
|
335
292
|
end
|
293
|
+
rescue Interrupt
|
294
|
+
# Squelch Interrupt for clean exit from Listen::Listener
|
336
295
|
end
|
337
296
|
|
338
297
|
def remove_redundant_directories(directories)
|
@@ -351,6 +310,90 @@ module Sass::Plugin
|
|
351
310
|
dedupped
|
352
311
|
end
|
353
312
|
|
313
|
+
def load_listen!
|
314
|
+
if defined?(gem)
|
315
|
+
begin
|
316
|
+
gem 'listen', '>= 1.1.0', '< 3.0.0'
|
317
|
+
require 'listen'
|
318
|
+
rescue Gem::LoadError
|
319
|
+
dir = Sass::Util.scope("vendor/listen/lib")
|
320
|
+
$LOAD_PATH.unshift dir
|
321
|
+
begin
|
322
|
+
require 'listen'
|
323
|
+
rescue LoadError => e
|
324
|
+
if Sass::Util.version_geq(RUBY_VERSION, "1.9.3")
|
325
|
+
version_constraint = "~> 2.7"
|
326
|
+
else
|
327
|
+
version_constraint = "~> 1.1"
|
328
|
+
end
|
329
|
+
e.message << "\n" <<
|
330
|
+
"Run \"gem install listen --version '#{version_constraint}'\" to get it."
|
331
|
+
raise e
|
332
|
+
end
|
333
|
+
end
|
334
|
+
else
|
335
|
+
begin
|
336
|
+
require 'listen'
|
337
|
+
rescue LoadError => e
|
338
|
+
dir = Sass::Util.scope("vendor/listen/lib")
|
339
|
+
if $LOAD_PATH.include?(dir)
|
340
|
+
raise e unless File.exists?(scope(".git"))
|
341
|
+
e.message << "\n" <<
|
342
|
+
'Run "git submodule update --init" to get the bundled version.'
|
343
|
+
else
|
344
|
+
$LOAD_PATH.unshift dir
|
345
|
+
retry
|
346
|
+
end
|
347
|
+
end
|
348
|
+
end
|
349
|
+
end
|
350
|
+
|
351
|
+
def on_file_changed(individual_files, modified, added, removed)
|
352
|
+
recompile_required = false
|
353
|
+
|
354
|
+
modified.uniq.each do |f|
|
355
|
+
next unless watched_file?(f)
|
356
|
+
recompile_required = true
|
357
|
+
run_template_modified(relative_to_pwd(f))
|
358
|
+
end
|
359
|
+
|
360
|
+
added.uniq.each do |f|
|
361
|
+
next unless watched_file?(f)
|
362
|
+
recompile_required = true
|
363
|
+
run_template_created(relative_to_pwd(f))
|
364
|
+
end
|
365
|
+
|
366
|
+
removed.uniq.each do |f|
|
367
|
+
if (files = individual_files.find {|(source, _, _)| File.expand_path(source) == f})
|
368
|
+
recompile_required = true
|
369
|
+
# This was a file we were watching explicitly and compiling to a particular location.
|
370
|
+
# Delete the corresponding file.
|
371
|
+
try_delete_css files[1]
|
372
|
+
else
|
373
|
+
next unless watched_file?(f)
|
374
|
+
recompile_required = true
|
375
|
+
# Look for the sass directory that contained the sass file
|
376
|
+
# And try to remove the css file that corresponds to it
|
377
|
+
template_location_array.each do |(sass_dir, css_dir)|
|
378
|
+
sass_dir = File.expand_path(sass_dir)
|
379
|
+
if child_of_directory?(sass_dir, f)
|
380
|
+
remainder = f[(sass_dir.size + 1)..-1]
|
381
|
+
try_delete_css(css_filename(remainder, css_dir))
|
382
|
+
break
|
383
|
+
end
|
384
|
+
end
|
385
|
+
end
|
386
|
+
run_template_deleted(relative_to_pwd(f))
|
387
|
+
end
|
388
|
+
|
389
|
+
if recompile_required
|
390
|
+
# In case a file we're watching is removed and then recreated we
|
391
|
+
# prune out the non-existant files here.
|
392
|
+
watched_files_remaining = individual_files.select {|(source, _, _)| File.exists?(source)}
|
393
|
+
update_stylesheets(watched_files_remaining)
|
394
|
+
end
|
395
|
+
end
|
396
|
+
|
354
397
|
def update_stylesheet(filename, css, sourcemap)
|
355
398
|
dir = File.dirname(css)
|
356
399
|
unless File.exists?(dir)
|
@@ -2076,7 +2076,7 @@ module Sass::Script
|
|
2076
2076
|
# call(scale-color, #0a64ff, $lightness: -10%) => #0058ef
|
2077
2077
|
#
|
2078
2078
|
# $fn: nth;
|
2079
|
-
# call($fn,
|
2079
|
+
# call($fn, (a b c), 2) => b
|
2080
2080
|
#
|
2081
2081
|
# @overload call($name, $args...)
|
2082
2082
|
# @param $name [String] The name of the function to call.
|
data/lib/sass/source/map.rb
CHANGED
@@ -97,9 +97,9 @@ module Sass::Source
|
|
97
97
|
raise ArgumentError.new("Sass::Source::Map#to_json requires either " \
|
98
98
|
"the :css_uri option or both the :css_path and :soucemap_path options.")
|
99
99
|
end
|
100
|
-
css_path &&=
|
101
|
-
sourcemap_path &&=
|
102
|
-
css_uri ||= css_path.relative_path_from(sourcemap_path.dirname).to_s
|
100
|
+
css_path &&= Sass::Util.pathname(Sass::Util.absolute_path(css_path))
|
101
|
+
sourcemap_path &&= Sass::Util.pathname(Sass::Util.absolute_path(sourcemap_path))
|
102
|
+
css_uri ||= css_path.relative_path_from(sourcemap_path.dirname).to_s.tr('\\', '/')
|
103
103
|
|
104
104
|
result = "{\n"
|
105
105
|
write_json_field(result, "version", 3, true)
|
data/lib/sass/util.rb
CHANGED
@@ -583,13 +583,28 @@ module Sass
|
|
583
583
|
# Like `Pathname.new`, but normalizes Windows paths to always use backslash
|
584
584
|
# separators.
|
585
585
|
#
|
586
|
-
# `Pathname
|
586
|
+
# `Pathname#relative_path_from` can break if the two pathnames aren't
|
587
587
|
# consistent in their slash style.
|
588
|
+
#
|
589
|
+
# @param path [String]
|
590
|
+
# @return [Pathname]
|
588
591
|
def pathname(path)
|
589
592
|
path = path.tr("/", "\\") if windows?
|
590
593
|
Pathname.new(path)
|
591
594
|
end
|
592
595
|
|
596
|
+
# Like `Pathname#cleanpath`, but normalizes Windows paths to always use
|
597
|
+
# backslash separators. Normally, `Pathname#cleanpath` actually does the
|
598
|
+
# reverse -- it will convert backslashes to forward slashes, which can break
|
599
|
+
# `Pathname#relative_path_from`.
|
600
|
+
#
|
601
|
+
# @param path [String, Pathname]
|
602
|
+
# @return [Pathname]
|
603
|
+
def cleanpath(path)
|
604
|
+
path = Pathname.new(path) unless path.is_a?(Pathname)
|
605
|
+
pathname(path.cleanpath.to_s)
|
606
|
+
end
|
607
|
+
|
593
608
|
# Prepare a value for a destructuring assignment (e.g. `a, b =
|
594
609
|
# val`). This works around a performance bug when using
|
595
610
|
# ActiveSupport, and only needs to be called when `val` is likely
|
data/vendor/listen/CHANGELOG.md
CHANGED
@@ -1,56 +1,163 @@
|
|
1
|
-
|
1
|
+
# !!! CHANGELOG moved to Github [releases](https://github.com/guard/listen/releases) page !!!
|
2
|
+
|
3
|
+
|
4
|
+
## 1.2.2 - Jun 17, 2013
|
5
|
+
|
6
|
+
### Bug fix
|
7
|
+
|
8
|
+
- Rescue all error on sha1_checksum generation. ([@thibaudgg][])
|
9
|
+
|
10
|
+
## 1.2.1 - Jun 11, 2013
|
11
|
+
|
12
|
+
### Improvement
|
13
|
+
|
14
|
+
- Ignore 'bundle' folder by default. ([@thibaudgg][])
|
15
|
+
|
16
|
+
## 1.2.0 - Jun 11, 2013
|
17
|
+
|
18
|
+
### Improvement
|
19
|
+
|
20
|
+
- [#124][] New `force_adapter` option, skip the `.listen_test` adapter test. ([@nicobrevin][])
|
21
|
+
|
22
|
+
## 1.1.6 - Jun 4, 2013
|
23
|
+
|
24
|
+
### Change
|
25
|
+
|
26
|
+
- [#120][] Warn when using relative_paths option when listening to multiple diretories. (reported by [@chriseppstein][], added by [@thibaudgg][])
|
27
|
+
|
28
|
+
## 1.1.5 - Jun 3, 2013
|
29
|
+
|
30
|
+
### Bug fix
|
31
|
+
|
32
|
+
- [#122][] Fix stop called very soon after starting. (reported by [@chriseppstein][], fixed by [@thibaudgg][])
|
33
|
+
|
34
|
+
## 1.1.4 - May 28, 2013
|
35
|
+
|
36
|
+
### Bug fix
|
37
|
+
|
38
|
+
- [#118][] Prevent polling just because the adapter gem was already required. ([@nilbus][])
|
39
|
+
|
40
|
+
## 1.1.3 - May 21, 2013
|
41
|
+
|
42
|
+
### Bug fix
|
43
|
+
|
44
|
+
- [#117][] Fix jruby error on Pathname#relative_path_from. ([@luikore][])
|
45
|
+
|
46
|
+
## 1.1.2 - May 14, 2013
|
47
|
+
|
48
|
+
### Bug fix
|
49
|
+
|
50
|
+
- [#115][] Fix for directory containing non-ascii chars. ([@luikore][])
|
51
|
+
|
52
|
+
## 1.1.1 - May 14, 2013
|
53
|
+
|
54
|
+
### Bug fix
|
55
|
+
|
56
|
+
- [#113][] Kill poller_thread before waiting for it to die. ([@antifuchs][])
|
57
|
+
|
58
|
+
## 1.1.0 - May 11, 2013
|
59
|
+
|
60
|
+
### Bug fix
|
61
|
+
|
62
|
+
- [#112][] Expand path for the given directories. (reported by [@nex3][], fixed by [@thibaudgg][])
|
63
|
+
|
64
|
+
### Change
|
65
|
+
|
66
|
+
- [#110][] Remove MultiListener deprecation warning message. (reported by [@nex3][], fixed by [@thibaudgg][])
|
67
|
+
|
68
|
+
## 1.0.3 - April 29, 2013
|
69
|
+
|
70
|
+
### Bug fix
|
71
|
+
|
72
|
+
- Rescue Errno::EBADF on sha1_checksum generation. ([@thibaudgg][])
|
73
|
+
|
74
|
+
## 1.0.2 - April 22, 2013
|
75
|
+
|
76
|
+
### Bug fix
|
77
|
+
|
78
|
+
- [#104][] Avoid conflict with ActiveSupport::Dependencies::Loadable. ([@nysalor][])
|
79
|
+
|
80
|
+
## 1.0.1 - April 22, 2013
|
81
|
+
|
82
|
+
### Bug fix
|
83
|
+
|
84
|
+
- [#103][] Support old version of rubygems. (reported by [@ahoward][], fixed by [@thibaudgg][])
|
85
|
+
|
86
|
+
## 1.0.0 - April 20, 2013
|
2
87
|
|
3
88
|
### Bug fix
|
4
89
|
|
5
|
-
- [#
|
6
|
-
|
90
|
+
- [#93][] Remove dependency operator in the "gem install" message. (reported by [@scottdavis][], fixed by [@rymai][])
|
91
|
+
|
92
|
+
### Changes & deprecations
|
93
|
+
|
94
|
+
- [#98][] `Listen.to` does not block the current thread anymore. Use `Listen.to!` if you want the old behavior back. ([@rymai][])
|
95
|
+
- [#98][] `Listen::Listener#start` does not block the current thread anymore. Use `Listen::Listener#start!` if you want the old behavior back. ([@rymai][])
|
96
|
+
- [#98][] `Listen::Listener#start`'s `blocking` parameter is deprecated. ([@rymai][])
|
97
|
+
|
98
|
+
### Improvements
|
99
|
+
|
100
|
+
- [#98][] New method: `Listen.to!` which blocks the current thread. ([@rymai][])
|
101
|
+
- [#98][] New method: `Listen::Listener#start!` to start the listener and block the current thread. ([@martikaljuve][] & [@rymai][])
|
102
|
+
- [#95][] Make `Listen::Listener` capable of listening to multiple directories, deprecates `Listen::MultiListener`, defaults `Listener#relative_paths` to `true` when listening to a single directory (see [#131][]). ([@rymai][])
|
103
|
+
- [#85][] Compute the SHA1 sum only for regular files. ([@antifuchs][])
|
104
|
+
- New methods: `Listen::Adapter#pause`, `Listen::Adapter#unpause` and `Listen::Adapter#paused?`. ([@rymai][])
|
105
|
+
- Refactor `Listen::DirectoryRecord` internals. ([@rymai][])
|
106
|
+
- Refactor `Listen::DependencyManager` internals. ([@rymai][])
|
107
|
+
|
108
|
+
## 0.7.3 - February 24, 2013
|
109
|
+
|
110
|
+
### Bug fixes
|
111
|
+
|
112
|
+
- [#88][] Update wdm dependency. ([@mrbinky3000][])
|
113
|
+
- [#78][] Depend on latest rb-inotify. ([@mbj][])
|
7
114
|
|
8
115
|
## 0.7.2 - January 11, 2013
|
9
116
|
|
10
117
|
### Bug fix
|
11
118
|
|
12
|
-
- [#76] Exception on filename which is not in UTF-8. (
|
119
|
+
- [#76][] Exception on filename which is not in UTF-8. ([@piotr-sokolowski][])
|
13
120
|
|
14
121
|
## 0.7.1 - January 6, 2013
|
15
122
|
|
16
123
|
### Bug fix
|
17
124
|
|
18
|
-
- [#75] Default high precision off if the mtime call fails. (
|
125
|
+
- [#75][] Default high precision off if the mtime call fails. ([@zanker][])
|
19
126
|
|
20
127
|
## 0.7.0 - December 29, 2012
|
21
128
|
|
22
|
-
### Bug
|
129
|
+
### Bug fix
|
23
130
|
|
24
|
-
- [#73] Rescue Errno::EOPNOTSUPP on sha1_checksum generation. (
|
131
|
+
- [#73][] Rescue Errno::EOPNOTSUPP on sha1_checksum generation. ([@thibaudgg][])
|
25
132
|
|
26
133
|
### New feature
|
27
134
|
|
28
|
-
- Add support for *BSD with rb-kqueue. ([@mat813][])
|
135
|
+
- [#72][] Add support for *BSD with rb-kqueue. ([@mat813][])
|
29
136
|
|
30
137
|
## 0.6.0 - November 21, 2012
|
31
138
|
|
32
139
|
### New feature
|
33
140
|
|
34
|
-
- Add bang versions for filter and ignore
|
141
|
+
- [#68][] Add bang versions for `Listener#filter` and `Listener#ignore` methods. ([@tarsolya][])
|
35
142
|
|
36
143
|
## 0.5.3 - October 3, 2012
|
37
144
|
|
38
145
|
### Bug fixes
|
39
146
|
|
40
|
-
- [#65] Fix ruby warning in adapter.rb. (
|
41
|
-
- [#64] ENXIO raised when hashing UNIX domain socket file. (
|
147
|
+
- [#65][] Fix ruby warning in adapter.rb. ([@vongruenigen][])
|
148
|
+
- [#64][] ENXIO raised when hashing UNIX domain socket file. ([@sunaku][])
|
42
149
|
|
43
150
|
## 0.5.2 - Septemper 23, 2012
|
44
151
|
|
45
152
|
### Bug fix
|
46
153
|
|
47
|
-
- [#62] Fix double change callback with polling adapter. (
|
154
|
+
- [#62][] Fix double change callback with polling adapter. ([@thibaudgg][])
|
48
155
|
|
49
156
|
## 0.5.1 - Septemper 18, 2012
|
50
157
|
|
51
158
|
### Bug fix
|
52
159
|
|
53
|
-
- [#61] Fix a synchronisation bug that caused constant fallback to polling. (
|
160
|
+
- [#61][] Fix a synchronisation bug that caused constant fallback to polling. ([@Maher4Ever][])
|
54
161
|
|
55
162
|
## 0.5.0 - Septemper 1, 2012
|
56
163
|
|
@@ -62,60 +169,60 @@
|
|
62
169
|
|
63
170
|
### Improvements
|
64
171
|
|
65
|
-
- [#28] Enhance the speed of detecting changes on Windows by using the [WDM][] library. ([@Maher4Ever][])
|
172
|
+
- [#28][] Enhance the speed of detecting changes on Windows by using the [WDM][] library. ([@Maher4Ever][])
|
66
173
|
|
67
174
|
## 0.4.7 - June 27, 2012
|
68
175
|
|
69
176
|
### Bug fixes
|
70
177
|
|
71
|
-
- Increase latency to 0.25, to avoid useless polling fallback. (
|
72
|
-
- Change watched inotify events, to avoid duplication callback. (
|
73
|
-
- [#41]
|
178
|
+
- Increase latency to 0.25, to avoid useless polling fallback. ([@thibaudgg][])
|
179
|
+
- Change watched inotify events, to avoid duplication callback. ([@thibaudgg][])
|
180
|
+
- [#41][] Use lstat instead of stat when calculating mtime. ([@ebroder][])
|
74
181
|
|
75
182
|
## 0.4.6 - June 20, 2012
|
76
183
|
|
77
184
|
### Bug fix
|
78
185
|
|
79
|
-
- [#39]
|
186
|
+
- [#39][] Fix digest race condition. ([@dkubb][])
|
80
187
|
|
81
188
|
## 0.4.5 - June 13, 2012
|
82
189
|
|
83
190
|
### Bug fix
|
84
191
|
|
85
|
-
- [#39]
|
192
|
+
- [#39][] Rescue Errno::ENOENT when path inserted doesn't exist. (reported by [@textgoeshere][], fixed by [@thibaudgg][] and [@rymai][])
|
86
193
|
|
87
194
|
## 0.4.4 - June 8, 2012
|
88
195
|
|
89
196
|
### Bug fixes
|
90
197
|
|
91
|
-
- ~~[#39]
|
198
|
+
- ~~[#39][] Non-existing path insertion bug. (reported by [@textgoeshere][], fixed by [@thibaudgg][])~~
|
92
199
|
- Fix relative path for directories containing special characters. (reported by [@napcs][], fixed by [@netzpirat][])
|
93
200
|
|
94
201
|
## 0.4.3 - June 6, 2012
|
95
202
|
|
96
203
|
### Bug fixes
|
97
204
|
|
98
|
-
- [#24]
|
99
|
-
- [#32]
|
205
|
+
- [#24][] Fail gracefully when the inotify limit is not enough for Listen to function. (reported by [@daemonza][], fixed by [@Maher4Ever][])
|
206
|
+
- [#32][] Fix a crash when trying to calculate the checksum of unreadable files. (reported by [@nex3][], fixed by [@Maher4Ever][])
|
100
207
|
|
101
208
|
### Improvements
|
102
209
|
|
103
|
-
- Add
|
104
|
-
- Add
|
210
|
+
- Add `Listener#relative_paths`. ([@Maher4Ever][])
|
211
|
+
- Add `Adapter#started?`. ([@Maher4Ever][])
|
105
212
|
- Dynamically detect the mtime precision used on a system. ([@Maher4Ever][] with help from [@nex3][])
|
106
213
|
|
107
214
|
## 0.4.2 - May 1, 2012
|
108
215
|
|
109
216
|
### Bug fixes
|
110
217
|
|
111
|
-
- [#21]
|
112
|
-
- [#27]
|
218
|
+
- [#21][] Issues when listening to changes in relative paths. (reported by [@akerbos][], fixed by [@Maher4Ever][])
|
219
|
+
- [#27][] Wrong reports for files modifications. (reported by [@cobychapple][], fixed by [@Maher4Ever][])
|
113
220
|
- Fix segmentation fault when profiling on Windows. ([@Maher4Ever][])
|
114
221
|
- Fix redundant watchers on Windows. ([@Maher4Ever][])
|
115
222
|
|
116
223
|
### Improvements
|
117
224
|
|
118
|
-
- [#17]
|
225
|
+
- [#17][] Use regexp-patterns with the `ignore` method instead of supplying paths. (reported by [@fny][], added by [@Maher4Ever][])
|
119
226
|
- Speed improvement when listening to changes in directories with ignored paths. ([@Maher4Ever][])
|
120
227
|
- Added `.rbx` and `.svn` to ignored directories. ([@Maher4Ever][])
|
121
228
|
|
@@ -123,13 +230,13 @@
|
|
123
230
|
|
124
231
|
### Bug fix
|
125
232
|
|
126
|
-
- [#18]
|
233
|
+
- [#18][] Listener crashes when removing directories with nested paths. (reported by [@daemonza][], fixed by [@Maher4Ever][])
|
127
234
|
|
128
235
|
## 0.4.0 - April 9, 2012
|
129
236
|
|
130
237
|
### New features
|
131
238
|
|
132
|
-
- Add `wait_for_callback
|
239
|
+
- Add `Adapter#wait_for_callback`. ([@Maher4Ever][])
|
133
240
|
- Add `Listen::MultiListener` class to listen to multiple directories at once. ([@Maher4Ever][])
|
134
241
|
- Allow passing multiple directories to the `Listen.to` method. ([@Maher4Ever][])
|
135
242
|
- Add `blocking` option to `Listen#start` which can be used to disable blocking the current thread upon starting. ([@Maher4Ever][])
|
@@ -163,7 +270,7 @@
|
|
163
270
|
|
164
271
|
### Bug fix
|
165
272
|
|
166
|
-
- [#9]
|
273
|
+
- [#9][] Ignore doesn't seem to work. (reported by [@markiz][], fixed by [@thibaudgg][])
|
167
274
|
|
168
275
|
## 0.3.0 - February 21, 2012
|
169
276
|
|
@@ -181,7 +288,7 @@
|
|
181
288
|
- Add rb-inotify support. ([@thibaudgg][] with [@Maher4Ever][] help)
|
182
289
|
- Add rb-fsevent support. ([@thibaudgg][])
|
183
290
|
- Add non-recursive diff with multiple directories support. ([@thibaudgg][])
|
184
|
-
- Ignore
|
291
|
+
- Ignore `.DS_Store` files by default. ([@thibaudgg][])
|
185
292
|
|
186
293
|
## 0.1.0 - January 28, 2012
|
187
294
|
|
@@ -196,33 +303,66 @@
|
|
196
303
|
[#27]: https://github.com/guard/listen/issues/27
|
197
304
|
[#28]: https://github.com/guard/listen/issues/28
|
198
305
|
[#32]: https://github.com/guard/listen/issues/32
|
306
|
+
[#39]: https://github.com/guard/listen/issues/39
|
199
307
|
[#41]: https://github.com/guard/listen/issues/41
|
200
308
|
[#61]: https://github.com/guard/listen/issues/61
|
201
309
|
[#62]: https://github.com/guard/listen/issues/62
|
202
310
|
[#64]: https://github.com/guard/listen/issues/64
|
203
311
|
[#65]: https://github.com/guard/listen/issues/65
|
312
|
+
[#68]: https://github.com/guard/listen/issues/68
|
313
|
+
[#72]: https://github.com/guard/listen/issues/72
|
204
314
|
[#73]: https://github.com/guard/listen/issues/73
|
205
315
|
[#75]: https://github.com/guard/listen/issues/75
|
206
316
|
[#76]: https://github.com/guard/listen/issues/76
|
317
|
+
[#78]: https://github.com/guard/listen/issues/78
|
318
|
+
[#85]: https://github.com/guard/listen/issues/85
|
319
|
+
[#88]: https://github.com/guard/listen/issues/88
|
320
|
+
[#93]: https://github.com/guard/listen/issues/93
|
321
|
+
[#95]: https://github.com/guard/listen/issues/95
|
322
|
+
[#96]: https://github.com/guard/listen/issues/96
|
323
|
+
[#98]: https://github.com/guard/listen/issues/98
|
324
|
+
[#103]: https://github.com/guard/listen/issues/103
|
325
|
+
[#104]: https://github.com/guard/listen/issues/104
|
326
|
+
[#110]: https://github.com/guard/listen/issues/110
|
327
|
+
[#112]: https://github.com/guard/listen/issues/112
|
328
|
+
[#113]: https://github.com/guard/listen/issues/113
|
329
|
+
[#115]: https://github.com/guard/listen/issues/115
|
330
|
+
[#117]: https://github.com/guard/listen/issues/117
|
331
|
+
[#118]: https://github.com/guard/listen/issues/118
|
332
|
+
[#120]: https://github.com/guard/listen/issues/120
|
333
|
+
[#122]: https://github.com/guard/listen/issues/122
|
334
|
+
[#124]: https://github.com/guard/listen/issues/124
|
335
|
+
[#131]: https://github.com/guard/listen/issues/131
|
336
|
+
[@21croissants]: https://github.com/21croissants
|
207
337
|
[@Maher4Ever]: https://github.com/Maher4Ever
|
208
|
-
[@
|
209
|
-
[@ebroder]: https://github.com/ebroder
|
338
|
+
[@ahoward]: https://github.com/ahoward
|
210
339
|
[@akerbos]: https://github.com/akerbos
|
340
|
+
[@antifuchs]: https://github.com/antifuchs
|
341
|
+
[@chriseppstein]: https://github.com/chriseppstein
|
211
342
|
[@cobychapple]: https://github.com/cobychapple
|
212
343
|
[@daemonza]: https://github.com/daemonza
|
344
|
+
[@dkubb]: https://github.com/dkubb
|
345
|
+
[@ebroder]: https://github.com/ebroder
|
213
346
|
[@fny]: https://github.com/fny
|
347
|
+
[@luikore]: https://github.com/luikore
|
214
348
|
[@markiz]: https://github.com/markiz
|
349
|
+
[@martikaljuve]: https://github.com/martikaljuve
|
215
350
|
[@mat813]: https://github.com/mat813
|
351
|
+
[@mbj]: https://github.com/mbj
|
352
|
+
[@mrbinky3000]: https://github.com/mrbinky3000
|
216
353
|
[@napcs]: https://github.com/napcs
|
217
354
|
[@netzpirat]: https://github.com/netzpirat
|
218
355
|
[@nex3]: https://github.com/nex3
|
356
|
+
[@nicobrevin]: https://github.com/nicobrevin
|
357
|
+
[@nilbus]: https://github.com/nilbus
|
358
|
+
[@nysalor]: https://github.com/nysalor
|
219
359
|
[@piotr-sokolowski]: https://github.com/piotr-sokolowski
|
360
|
+
[@rehevkor5]: https://github.com/rehevkor5
|
220
361
|
[@rymai]: https://github.com/rymai
|
221
362
|
[@scottdavis]: https://github.com/scottdavis
|
222
363
|
[@sunaku]: https://github.com/sunaku
|
364
|
+
[@tarsolya]: https://github.com/tarsolya
|
223
365
|
[@textgoeshere]: https://github.com/textgoeshere
|
224
366
|
[@thibaudgg]: https://github.com/thibaudgg
|
225
|
-
[@tarsolya]: https://github.com/tarsolya
|
226
367
|
[@vongruenigen]: https://github.com/vongruenigen
|
227
368
|
[@zanker]: https://github.com/zanker
|
228
|
-
[WDM]: https://github.com/Maher4Ever/wdm
|