forked from faassen/bowerstatic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
152 lines (107 loc) · 5.14 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
CHANGES
*******
0.10 (unreleased)
=================
- Nothing changed yet.
0.9 (2015-06-23)
================
- A few documentation fixes.
- Allow `content_type` of response to be None, e.g. for HTTP-401.
0.8.1 (2015-01-14)
==================
- Python 3 compatibility fixes: a few things broke with 0.8.
0.8 (2015-01-14)
================
- Added references to Morepath and Pyramid extensions that integrate
BowerStatic.
- Don't try to pick up any directories that start with a period (``.``) as
bower packages.
- Added an example on how to integrate BowerStatic with a Flask
application.
- Fixed documentation describing WebOb integration to new reality as of
0.7.
- Ability to support custom renderers:
http://bowerstatic.readthedocs.org/en/latest/integrating.html#supporting-additional-types-of-resources
- Breaking change: renderers will receive the ``resource`` argument
instead of the url. Renderers can be used to render resources
inline.
0.7 (2014-11-15)
================
- The publisher and injector have been refactored into
``PublisherTween`` and a ``Publisher``, and an ``InjectorTween`` and
an ``Injector``. The Tween versions are the ones intended for use by
web frameworks that already use WebOb (such as Morepath and Pyramid)
as an alternative to using WSGI-based integration.
The WSGI-based integration has remained unchanged; you can still use
``bower.wrap`` (or ``bower.injector`` and ``bower.publisher``).
0.6 (2014-11-13)
================
- Added Python 3 compatibility. Fixes issue #25.
- Bower components and local components can be created based on a path
relative to the directory in which the components are created using
``bowerstatic.module_relative_path``.
- The injector and the publisher can now also be used directly by
providing a WebOb request and response. Third-party frameworks that
already use WebOb (such as Morepath and Pyramid) can make use of
this to integrate with on the level of their own request and
response objects, instead of on the WSGI level.
0.5 (2014-09-24)
================
- On some platforms and filesystems (such as Linux ext3, Mac OS X)
``os.path.getmtime()`` returns timestamps with the granularity of
seconds instead of subseconds such as Linux ext4. We go for second
granularity now by default for autoversioning as this should be good
enough during development.
The test for autoversioning was assuming sub-second granularity and
this test failed. This test is now skipped on Mac OS X. What didn't
help was weird code in BowerStatic that cut off the last bit of the
microsecond isoformat -- this was removed.
This fixes bug #20. (Thanks to Michael Howitz for the bug report)
- Display a nicer error messages when a component depends on another one
that doesn't exist. Thanks for Michael Howitz for the improvement.
- Internal toposort module was not imported relative to package,
which could lead to errors in some circumstances. Thanks TylorS for
reporting! Fixes issue #24.
0.4 (2014-09-08)
================
- There was a bug in the new ``component(name)`` method to obtain the
component, because it wouldn't work for local components. Fixing this
properly took a significant refactoring:
* the ComponentCollection gains its own fallback behavior, much
simpler to implement than in LocalComponentCollection.
* UrlComponent is now gone and Component gains that functionality; it
keeps a reference to the collection itself now.
* add a lot of free-standing functions to the methods.
* an earlier hack passing the component collection through an argument
is now gone.
- The new ``.component()`` API to get a component from a collection
explicitly in order to get its URL is gone again as it conflicted
with an earlier API on local component collections. Instead use
``collection.get_component(name)``.
0.3 (2014-08-28)
================
- BowerStatic failed to initialize if a component was discovered
without a ``main``. These are handled now -- if you try to include a
path to such a resource, no extra inclusions are generated. Fixes #5.
- If ``main`` was an array, only the first such resource was
loaded. The correct behavior should be to load all these
resources. This required a reworking of how resources get created;
instead of creating a single resource for a path, a list of
resources is created everywhere. Fixes #6 (and was mentioned in #5).
- Introduce a ``component(name)`` method on the components
object. Given a component name it will give an object that has a
``url()`` method. This can be used to obtain the URL of a component
directory, which is sometimes useful when client-side code needs to
construct URLs itself, such as for templates. Fixes issue #8.
- You can register a renderer for a particular extension type using,
for example, ``bower.renderer('.js', render_js)``, where
``render_js`` takes a URL and should return a string with a HTML
snippet to include on the page.
0.2 (2014-07-18)
================
- Even if the same resource is included multiple times, it will only
be included once. Thanks Ying Zhong for the bug report and suggested
fix.
0.1 (2014-07-07)
================
- Initial public release.