sass 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|