forked from pyblish/pyblish-base
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
273 lines (214 loc) · 9.64 KB
/
CHANGES
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
pyblish Changelog
=================
This contains all major version changes between pyblish releases.
Version 1.4.2
-------------
- Bugfix: `plugins` argument of CVEI convenience functions did not have any effect (#286)
- Feature: CVEI-friendly convenience functions (#288)
- BACKWARD INCOMPATIBLE: Due to #288, the behavior of util.collect() and friends are different and will need refactoring in your code if you depend on them.
Version 1.4.1
-------------
- Feature: register_gui (#279)
Version 1.4.0 - Steel
---------------------
- Enhancement: All major objects now boasts unique IDs for increased stability (#266)
- Enhancement: Stability improvements; Context and Instance are now much closer related (88478e9)
- Bugfix: InstancePlugin collector will error out util.publish() with multiple instances (#268)
- Enhancement: Simplified Iterator (#264)
Version 1.3.1
-------------
- Enhancement: pyblish.api.deregister_callback now throws an error on missing callback
Version 1.3.0
-------------
- Explicit plug-ins (#242)
- Simplified CLI
- CLI --data now handles inproperly formatted data (by treating it as strings)
- DEPRECATED: Services
- DEPRECATED: pyblish.logic.process
- BACKWARD INCOMPATIBLE: Vendored packages nose, yaml and coverage no longer included
- BACKWARD INCOMPATIBLE: CLI side-car configuration files no longer picked up.
- BACKWARD INCOMPATIBLE: CLI side-car data files no longer picked up.
Version 1.2.3
-------------
- Callbacks (#238)
- Iterator (#239)
Version 1.2.2
-------------
- Added icons for integrations under /icons
- Added support for instances with multiple families (#231)
Version 1.2.1
-------------
- Feature: Actions (see #142)
- Enhancement: All instances are now given a default family, where none is provided, called "default".
- Enhancement: Added deprecation warnings; quiet by default, run Python with -Wdefault to see them.
- Enhancement: In favour of maintainability, the dict-like property of Context was simplified; no behavioural difference.
- Enhancement: Multiple instances of the same name now officially supported.
- DEPRECATED: Context/Instance `.data` is now a pure dictionary.
- DEPRECATED: Context/Instance `.add` and `.remove`
Version 1.2.0
-------------
- BACKWARD INCOMPATIBLE: Directly registered plug-ins are now also checked for duplicates; before, they overwrite those discovered on disk.
- BACKWARD INCOMPATIBLE: `register_plugin` now checks the proposed registered plug-in for correctness, and throws an exception otherwise.
- BACKWARD INCOMPATIBLE: `regex` has been deprecated from `discover()` and does nothing.
- BACKWARD INCOMPATIBLE: `type` has been deprecated from `discover()` and does nothing.
- Enhancement: Implementation of discover() has been greatly simplified, made more robust and reusable.
Version 1.1.6
-------------
- Bugfix: Duplicate instances was allowed (#219)
- Added pyblish.plugin.plugins_from_module
Version 1.1.5
-------------
- Bugfix: Deprecated function pyblish.api.current_host fixed (#215)
Version 1.1.4
-------------
- Feature: Added support for `"MyInstance" in context`
- Enhancement: Removing the need for @pyblish.api.log (#213)
- Bugfix: Negative collectors (#210)
Version 1.1.3
-------------
- Bugfix: Decrementing order actually works now. (#206)
- Feature: Dict-like getting of instances from Context (#208)
- Feature: Host registration (#177)
- `collect` and `integrate` now available via pyblish.util
- "asset" available in context.data("result") for forwards compatibility
Version 1.1.2
-------------
- Logic: Excluding SimplePlugin and Selectors from Default test (See #198)
- BACKWARDS INCOMPATIBLE order now supports being decremented (see #199)
Version 1.1.1
-------------
- Enhancement: Hosts limit, not allow (see #194)
- Enhancement: CLI outputs less, more concise information
- Enhancement: Lowering logging level for plug-ins skipped during discovery to DEBUG
- Enhancement: Underscore-prefixed plug-ins are hidden from discovery (see #196)
- Bugfix: Discover ignores non-Python files (see #192)
Version 1.1.0
-------------
- Feature: Dependency Injection (see #127)
- Feature: SimplePlugin (see #186)
- Feature: In-memory plug-ins (see #140)
- Feature: Custom test (see #183)
- Feature: create_instance(name, **kwargs) (see #187)
- Preview: Asset (see #188)
- Enhancement: Logic unified between pyblish.util and pyblish.cli
- Bugfix: Order now works with pyblish.util and pyblish.cli (see #178)
- Standardised time format (see #181)
- pyblish.util minified. For data visualisation, refer to pyblish-qml
- Bugfix: True singleton configuration (see #182)
- Added pyblish.lib.ItemList
- API: Added Plugin.label
- API: Added Plugin.active
- API: Added pyblish.api.register_test()
- API: Added pyblish.api.deregister_test()
- API: Added pyblish.api.registered_test()
- API: Added pyblish.api.plugins_by_instance()
- API: New defaults for `hosts` and `families` of plug-ins. (see #176)
- API: Added pyblish.api.register_plugin()
- API: Added pyblish.api.deregister_plugin()
- API: Added pyblish.api.registered_plugins()
- API: Added pyblish.api.deregister_all_plugins()
- API: Added pyblish.api.register_service()
- API: Added pyblish.api.deregister_service()
- API: Added pyblish.api.registered_services()
- API: Added pyblish.api.deregister_all_services()
- API: Renamed pyblish.api.sort() to pyblish.api.sort_plugins(), original deprecated
- API: Renamed pyblish.api.deregister_all -> deregister_all_paths, original deprecated
- BACKWARD INCOMPATIBLE You can no longer use both process_instance and process_context in the same plug-in; process_instance takes precedence.
- BACKWARD INCOMPATIBLE Removed Extractor.compute_commit_dir
- BACKWARD INCOMPATIBLE Removed Extractor.commit
- BACKWARD INCOMPATIBLE Removed validate_naming_convention plug-in
- Known issue: pyblish.logic.process.next_plugin yields wrong result
Version 1.0.16
--------------
- Feature: The Pyblish CLI is back!
- API: Added pyblish.api.sort()
- API: Added pyblish.api.current_host()
- API: Plug-in paths can no longer be modified by altering
the results returned from pyblish.api.plugin_paths()
- API: Paths are no longer made absolute during registration.
Version 1.0.15
--------------
- API: Plugin.repair_* documented and implemented by default
- API: Added lib.where()
- API: Added `.id` attribute to instances and plug-ins
Version 1.0.14
--------------
- Added pyblish.api.version
- Matched verbosity level from processing context as the processing of instances.
- Processing logic change; processing of plug-in *without* compatible instances will now *not* yield anything; previously it yielded a pair of (None, None).
Version 1.0.13
--------------
- Added pyblish.api.sort_plugins
- Added ordered output to pyblish.api.discover
- pyblish.api.plugins_by_family now yields correct results
for plug-ins with wildcard families.
- Refactored main.py into util.py
Version 1.0.12
--------------
- plugin.py reloadable without loosing currently loaded plug-ins
- Basic plug-in manager "Manager"
- Simplified configuration (no more user or custom configuration)
- Simplifying discover() (no more indirection)
- Adding default logger (good bye "No logger found..")
- Temporarily removig CLI
- Context is no longer a Singleton
- Added forwards compatibility for Collector plug-in
Version 1.0.11
--------------
- Added ability to process individual instances from within context
Version 1.0.10
--------------
- Fixing PyPI installation
Version 1.0.9
-------------
- Requires. Plug-ins may now specify a version with which they
are compatible with, using [iscompatible][] which is a
requirements.txt-like syntax for dependency specifications.
- Improved logging, including visualisation of which instance
is currently being processed by each plug-in.
- iscompatible is now included in /vendor
[iscompatible]: https://github.com/mottosso/iscompatible
Version 1.0.8
-------------
- Nice name for Plug-ins. A plug-in can now carry an
optional `name` attribute that will replace the
default class-name used when visualising a plug-in
name.
- Configurable configuration location. Users can now specify
where Pyblish will look for configuration files, via the
PYBLISHCONFIGPATH variable.
- Registered path no longer have to exist. To align better with
paths added via environment variables or configuration, the
registration of paths is now okay even though the path may
not exist. A non-existing path will simply be discarded upon
discovery (and log a warning message).
- Auto-repair. pyblish.main.publish() now takes a auto_repair flag
with which the Plugin.repair_instance method is called. If a
repair fails, a message is logged, otherwise the validation is
considered a success and publishing resumes.
- Plug-ins for other hosts than the currently running host are
discarded upon discovery. This means that they will be invisible
to any incompatible host.
- Optional plug-ins. A plug-in may now be marked "optional" and thus
be ignored during processing by user-request using
pyblish.main.publish(include_optional=False)
Version 1.0.7
-------------
- Improved logging of pyblish.main.publish()
- Refactored backend/frontend; frontends now in their own
individual repositories.
- Added landscape.io code-quality badge
Version 1.0.6
-------------
- New API members: plugins_by_family, plugins_by_host and
instances_by_plugin
- Improved print of Context and Instance
Context now prints members, like a regular list
and Instance prints its name and class relation.
- Implemented Context.delete() to simplify working with a Singleton.
Version 1.0.5
-------------
- Redefined and simplified configuration
- Moving API from root package to namespace "api"
- Initial version of command-line interface (cli)
- Initial version of package-control using cli