forked from ImageEngine/cortex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
2486 lines (1537 loc) · 93.9 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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
9.21.0
======
Features
--------
- PointsAlgo :
- Added `deletePoints()` (#576).
Fixes
-----
- MeshAlgo & CurvesAlgo :
- Improved argument names (#578).
- IECoreMantra : Fixed World procedural crash in Houdini 16 (#577).
Build
-----
- Fixed gcc 4.1 builds
9.20.0
======
Features
--------
- MeshAlgo :
- Added `deleteFaces()` (#575).
- CurvesAlgo :
- Added `resamplePrimitiveVariables()` (#566).
- Added `deleteCurves()` (#575).
- PointsAlgo :
- Added `resamplePrimitiveVariables()` (#575).
Improvements
------------
- IECoreHoudini : Added support for Houdini 16 (#569).
- IECoreArnold::OutputDriver :
- Using output layerName to set channel names (#573).
- Improved performance (#574).
- ClientDisplayDriver (#574) :
- Improved performance.
- Better error handling.
9.19.0
======
Features
--------
- MeshAlgo : Added function to resample primitive variables (#565)
Improvements
------------
- Arnold output driver : Added pixel aspect ratio to driver parameters (#564)
Fixes
-----
- Maya : Fixed deadlock issues with LiveScene (#562).
- Houdini : Fixed crash when the library was loaded without the plugin (#570).
- Nuke : Fixed debug builds (#567).
9.18.0
======
Features
--------
- IECore::MeshAlgo : Added calculateTangents() function.
- MeshAlgo is a new namepsace for functions which operate on MeshPrimitives.
- MeshTangentOp has been updated to use `MeshAlgo::calculateTangents()` internally.
- IECoreMaya:LiveScene : Convert Maya Sets to Scene Tags.
- Sets will be converted if they have a dynmaic bool attribute called "ieExport" which is set True.
- IECoreHoudini SceneNodes : Added an option to load Scene Tags as Houdini PrimGroups.
Improvements
------------
- IECoreArnold::ParameterAlgo : Avoid warnings when redeclaring attributes.
- IECoreHoudini Op SOPs : Added "ie" prefix to the tab menu for Cortex Ops loaded as Houdini SOPs.
- This affects Image Engine only.
Fixes
-----
- IECoreMaya::LiveScene : Ignore non-serializable objects introduced by Maya 2016 hypershade.
Build
-----
- Removed stale asserts.
- Removed references to dead test cases.
9.17.0
======
Improvements
------------
- `IECoreMaya::SceneShape` :
- Added tagName argument to `FnSceneShape.expandAll()`
- Added "Expand by Tag" option to SceneShape context menu.
- `IECoreArnold::ParameterAlgo`: Support `AI_TYPE_RGB`, `AI_TYPE_RGBA`, and `AI_TYPE_VECTOR`.
- `ImageDisplayDriver`: Support "header:" metadata convention
- `EXRImageWriter`: Added DreamWorks compression options (if compiled with OpenExr 2.2+).
- `OStreamMessageHandler`: Made m_stream protected to allow access from subclasses.
9.16.2
======
- Build
- Added CXXSTD build argument.
- Made compatible with recent FreeType versions.
- Fixed C++11 incompatibilities.
- Fixed debug builds.
- Fixed linking for single-lib Alembic.
9.16.1
======
Fixes
-----
- `IECoreMaya::SceneShape` :
- Fixed redraw issue in Maya 2016 parallel mode.
- Fixes computation for expanded SceneShapes in Maya 2016 parallel mode.
9.16.0
======
Improvements
------------
- IECoreAppleseed : Added support for int[] and float[] OSL shader parameters.
- Build :
- Added support for Alembic 1.6.
- Added support for Boost 1.61
- Added support for macOS Sierra
9.15.0
======
Improvements
------------
- IECoreArnold::ParameterAlgo :
- Added support for point parameters.
- Added support for DoubleData and M44dData
- Added node name to warnings.
- IECoreRI : Added support for render:sampleMotion option.
- IECoreMaya :
- Added UndoChunk `with` statement.
- Added RefreshDisabled `with` statement.
9.14.1
======
Fixes
-----
- Arnold `UniverseBlock`
- Shutdown lazily to improve read-only access (e.g. shader loading on script open).
- Fixed threadsafety issues with construction/destruction.
- Fixed writability issues in `Renderer` and tests.
- `IECoreGL::Selector`: Fixed leak of `glClearColor` and `glClearDepth`.
9.14.0
======
#### IECore
- ParameterAlgo
- Added manual conversion from BoolVectorData to AtArray.
- DisplayDriverServer
- Supporting automatic selection of a free port.
#### IECoreMaya
- SceneShape
- Added preserveNamespace argument to convertAllToGeometry().
- Recursive expandAsGeometry() now preserves namespace.
- Fixed bug converting multiple curves to geometry.
- Fixed naming backward compatibility when converting and connecting to curves.
9.13.2
======
#### IECore
- Added 'tx' support for TIFFImageReader
9.13.1
======
#### IECoreArnold
- CurvesAlgo : Convert "N" to orientations.
9.13.0
======
#### IECoreMaya
- Fixed LiveScene object merging bug (#524).
#### IECoreAppleseed
- Added support code and improvements for new renderer backend in Gaffer (#520).
9.12.1
======
#### IECore
- Camera
- Added support for negative clipping planes ( useful on ortho cams )
#### IECoreHoudini
- Fixed CurvesPrimitive duplication in Houdini SceneCacheSource SOP
9.12.0
======
#### IECoreArnold
- Added read/write access concept to UniverseBlock (#514).
- Added automatic loading of metadata files to UniverseBlock (#514).
- Stopped adding "user:" prefix to arbitrary primitive variables. Instead
variables which clash with built in parameters are ignored instead (#519).
- Added support for GeometricTypedData interpretation in primitive variables (#519).
- Support setting enum parameters using integer index
#### IECoreMaya
- LiveScene
- Added support for multiple shapes under a transform, by merging them
into a single Cortex object (#516).
- SceneShapes
- Added support for converting CurvesPrimitives to multiple maya curves
under the same transform (#516).
9.11.4
======
#### IECore
- Removed code that discarded Camera crop windows outside 0-1
#### IECoreMaya
- Fixed crash in ToMayaSkinClusterConverter when updating topology
#### IECoreArnold
- Added support for arbitrary camera parameters
#### Build
- Added DEBUG option and fixed debug build errors
9.11.3
======
#### IECoreArnold
- MeshAlgo : Fix iterator invalidation bug.
9.11.2
======
#### Build
- Fixed linking of IECoreAppleseed on OS X.
9.11.1
======
#### IECoreArnold
- Improved UV set support.
- Support for FaceVarying primitive variables.
- Support for Constant V3f primitive variables.
- Support for Vertex primitive variables on PointsPrimitives.
- Fixed incorrect output of Vertex primitive variables on CurvesPrimitives (these are not yet valid in Arnold)
#### IECoreAppleseed
- Made LogTarget class public.
- Added dataToString overload accepting a const Data*.
- Refactored transform conversion code out of TransformStack.
9.11.0
======
#### IECoreArnold
- Added support for AI_TYPE_VECTOR in `ParameterAlgo::setParameter()`.
- Stopped making unnecessary copies of mesh topology in `MeshAlgo::convert()`.
- Added support for point arrays in `ParameterAlgo::setParameter()`.
9.10.1
======
#### IECoreArnold
- Added support for matrix parameters
#### IECoreAppleseed
- Fliped t coordinate for mesh UVs.
- Removed ToAppleseed converters. Moved code to Algo files.
- Fixed compile issues for IECoreAppleseed on gcc 4.1.2
- Fixing SConstruct configuration for Appleseed
#### Build
- Exposing OSL and OIIO build options
9.10.0
======
#### IECoreArnold
- Remove support for Arnold < 4.1.
- Support for progressive renders.
- ParameterAlgo
- Support for arrays in getParameter().
- Support for RGBA and Point2 parameters.
- Support for V3fVectorData.
- Flipped t coordinate for mesh uvs.
- Suppressed conversion of stIndices primvar.
9.9.1
=====
#### Build
- Added INSTALL_ARNOLDPYTHON_DIR build option, to specify an independent location
for the installation of the IECoreArnold python module.
- Fixed linking of IECoreArnold.
9.9.0
=====
#### IECore
- Python Module
- Use RTLD_GLOBAL to load C++ modules.
#### IECoreMaya
- Added a MightHaveFn to IECoreMaya::LiveScene::registerCustomAttributes().
- If MightHaveFn is specified, it will be called before NamesFn to allow a cheap early out.
#### IECoreHoudini
- Implemented Cob GEOIO_Translator::fileStat to return the bounding box from the cob header.
#### IECoreArnold
- Renderer
- Apply name to camera nodes.
- Support "ai:shape:" attribute prefix.
- Add support for creating Arnold volume nodes.
- Add SphereAlgo with conversion from IECore::SpherePrimitive.
#### Build
- Fixed PYTHONPATH for IECoreArnold tests
- Updated SConstruct and tests for Arnold 4.2
# 9.8.0
#### IECore
- Python Module
- Use RTLD_GLOBAL to load C++ modules.
#### IECoreMaya
- Added a MightHaveFn to IECoreMaya::LiveScene::registerCustomAttributes().
- If MightHaveFn is specified, it will be called before NamesFn to allow a cheap early out.
#### IECoreHoudini
- Implemented Cob GEOIO_Translator::fileStat to return the bounding box from the cob header.
#### IECoreArnold
- Renderer
- Apply name to camera nodes.
- Support "ai:shape:" attribute prefix.
- Add support for creating Arnold volume nodes.
- Add SphereAlgo with conversion from IECore::SpherePrimitive.
#### Build
- Fixed PYTHONPATH for IECoreArnold tests
- Updated SConstruct and tests for Arnold 4.2
# 9.8.0
#### IECoreMaya
- Added plug conversion for MPointArray to IECore::Vector3f/3d (3d default) with Point interpretation.
- Updated plug conversion for VectorArray to use Vector interpretation (rather than Numeric).
- Preventing primary UV Set from being exported twice.
- ieSceneShape expansion functions can optionally preserve the original namespace of the parent.
#### IECoreRI
- Added initial support for 3delight OSL via NSI
#### IECoreAppleseed
- Renamed volume priority attribute to medium priority.
# 9.7.1
#### IECore
- LinkedScene : The message for linked ancestor tags is now Debug level instead of Warning.
#### IECoreHoudini
- Fixed "name" attribute bug in IECoreHoudini::LiveScene, which was triggered by using an attribwrangle on the name attribute.
# 9.7.0
#### IECore
- Fixed potential crash in MeshPrimitiveEvaluator::barycentricPosition() (#475).
- Fixed ConfigLoader to ignore duplicate paths. Note that this may change configuration
behaviour for malformed paths with duplicates (#474).
#### IECoreArnold
- Added support for both deformation and transform blur (#473).
- Refactored all Cortex->Arnold conversion functionality into new Algo.h headers,
removing the old FromCoreConverter based classes. This does represent a compatibilit
break, but IECoreArnold is in contrib, where no compatibility guarantees exist.
- Fixed warnings relating to the data type of Arnold's visibility parameter, which
has been changed to AtByte from AtInt.
# 9.6.1
#### IECore
- MessageHandler handles python exceptions before they get to c++
#### IECoreMaya
- Sorting childNames during ieSceneShape expansion
#### IECoreAppleseed
- Added nested volume priority attribute
# 9.6.0
#### IECore
- Added support for procedurals without bounds
- Fixed time remapping for old style link attributes in LinkedScenes
#### IECoreHoudini
- Fixed crash when converting integer and float list attributes in Houdini
#### IECoreAppleseed
- Fixed attribute stack bug
#### IECoreRI
- Added support for procedurals without bounds
#### IECoreGL
- Added support for procedurals without bounds
#### IECoreArnold
- Added support for procedurals without bounds
#### IECoreMaya
- Optimized IECoreMaya SceneShape expansion
# 9.5.0
#### IECoreNuke
- Adding support for PointsPrimitives in Nuke scene reader
# 9.4.0
#### IECore
- Added unit tests for IECore.M33f/M44f indexing
#### IECoreHoudini
- Houdini can now round trip M33f and M44f primvars, including detail attributes/constant primvars.
# 9.3.0
#### IECore
- Added const parameterData method to IECore::Light
- Added alternate AreaLight shader control parameter named "__areaLight"
#### IECoreHoudini
- String tables for converted string primitive variables are now sorted alphabetically
- Houdini geo converters now support M44f primvars
# 9.2.0
#### IECoreGL
- Added ShaderStateComponent::hash() method.
- Fixed wireframe rendering with user vertex shaders.
- Fixed IDRender selection with user vertex shaders.
- Fixed selection with custom vertex shaders on OSX.
#### IECoreAppleseed
- Added default render params needed by interactive final rendering.
- Fix display when used with the ImageDisplayDriver driver type.
#### IECoreHoudini
- Removed deep RAT support for Houdini 15 (it is still there for older Houdini versions)
#### Build
- Houdini 15 compatibility
- Fixed build issue for running 3delight inside Maya at IE
# 9.1.0
#### IECoreAppleseed
- Support renderer type prefixes in Renderer::light().
#### IECoreArnold
- Support renderer type prefixes in Renderer::light().
#### IECoreRI
- Support renderer type prefixes in Renderer::light().
#### IECoreMaya
- Fixed crash when zooming in on coordinate systems in scene shapes
#### Build
- 3delight display drivers and procedurals now installed to compiler specific locations at IE
# 9.0.0
#### IECore
- Renamed GeometricData::Interpretation::Numeric to GeometricData::Interpretation::None, so that it makes sense as a deafult for non-numeric types.
- GeometricData::Interpretation::Numeric still exists for compatibility.
- Added DataAlgo.h with setDataInterpretation() and getDataInterpretation().
#### IECoreMaya
- FromMayaCameraConverter now accounts for pixelAspectRatio.
#### IECoreRI
- Primitive variable types in RI now set from the prim var interpretation. Type hints now ignored.
#### IECoreAppleseed
- Added support for shading overrides.
- Added mesh tangents and motion normals.
- Mesh tangents (primitive variable uTangent) are now exported to appleseed meshes.
- Time varying tangents and normals for primitives with deformation blur are now exported if appleseed supports them (since version 1.2.0).
- Fixed a warning message in ToAppleseedMeshConverter.
#### Build
- Travis : Updated to container-based build infrastructure.
- Travis : Skipped some threading tests on Travis.
# 9.0.0-b9
#### IECore
- Fixed shutdown crashes with ScopedGILLock (as seen in Gaffer 0.14.0.0)
# 9.0.0-b8
#### IECore
- Added a new magic number for JPG compatibility
#### IECoreMaya
- Maya 2016 compile fixes for gcc 4.8
#### IECoreAlembic
- Fixed bug where face sets were treated as children.
#### IECoreRI
- Changed SXExecutor parameter interpretation.
#### IECoreAppleseed
- Added support for interactive non-editable final rendering.
# 9.0.0-b7
#### IECore
- Storing the bounding box in .cob headers if the object is a VisibleRenderable.
- TransformOp now takes a copy of the data before altering it.
- GCC 4.8 compatibility.
- Boost 1.55.0 compatibility.
- TBB 4.3 compatibility.
#### IECoreMaya
- Fixed FromMayaCameraConverter to account for non-zero film offsets.
- ToMayaCameraConverter now supports setting the film offset using blindData on the Camera.
- Maya 2016 compatibility.
#### IECoreHoudini
- Fixed issue exporting string attributes when Houdini reports an extra null string in the detail.
- Added support for converting quaternions to and from Houdini.
- Houdini 14 compatibility.
#### IECoreRI
- SLOReader sets geometric interpretation on parameters.
- ParameterList makes use of geometric interpretation when available.
#### IECoreAppleseed
- Fixed appleseed error while binding inputs of object instances.
- Various options changes:
- Set decorrelate_pixels automatically depending on render passes.
- If the rendering_threads option is zero, use all CPU cores for rendering.
- If the as:cfg:pt:max_ray_intensity is zero, disable max intensity clamping.
- Disable max number of bounces for max_path_length options set to zero.
- Check the type of the Data passed to setOption before accessing it.
# 9.0.0-b6
#### IECore
- Fixed thread safety bug in BlindDataHolder::blindData()
# 9.0.0-b5
#### IECore
- Fixed PointsPrimitive::bound() to account the width or aspect ratio of the points.
- Made MurmurHash::append() an inline function
#### IECoreMaya
- SceneShapeUI::select now returns false when polygons aren't being displayed in the viewport.
#### IECoreHoudini
- SceneCacheNodes have a new "Full Path Name" parm which creates an attrib for the full path for each shape (default is off).
#### IECoreGL
- Fixed radius of spheres rendered by IECoreGL::PointsPrimitive.
#### IECoreAppleseed
- Camera, transformation, deformation motion blur support.
- Lights can now be turned on and off.
- Interactive rendering support.
- Added support for the photon target attribute.
- Added support for orthographic cameras.
- Added an appleseed log handler that uses MessageHandler to log messages.
# 9.0.0-b4
#### IECore
- Added IECore::ClippingPlane object
- Set __file__ when loading configs
- Emitting a debug message for each config file loaded
#### IECoreMaya
- Added a mutex inside IECoreMaya::LiveScene::hasAttribute()
#### IECoreGL
- Wireframe shading uses Cs instead of vertexCs
#### IECoreRI
- Several IECoreRI::shader() optimizations
- Added clipping plane support to IECoreRI::Renderer
#### IECoreAppleseed
- Refactored IECore primitive to appleseed entities conversions code.
- Simplified IECoreAppleseed::RendererImplementation.
- Use appleseed object alpha maps instead of material alpha maps.
- Fixed a bug when trying to render a scene without cameras.
- Use the names set with setAttribute to name the appleseed entities in generated appleseed scene files.
- Highlight regions being rendered in the interactive display driver. Useful when doing multipass rendering.
- Small refactors in the display driver code.
- Removed some unused headers and other formatting changes.
- Camera and transformation motion blur support
- Added as:automatic_instancing option to enable / disable auto-instancing.
- Better error handling for as:mesh_file_format option
- Better error handling for searchpath option. Added automatic_instancing option
- Support for appleseed 1.1.2
- Fixed bug when connecting members of stuct parameters in OSL shaders.
- Added photon target attribute for objects
- PrimitiveConverter interface changes. Changed the way hashes are computed in IECoreAppleseed.
- Fixed assembly instance names when generating appleseed projects.
# 9.0.0-b3
#### IECore
* Added implicit conversion from python datetime to DateTimeData.
* Linked scenes no longer return duplicate tags
#### IECoreMaya
* Only allow selection using the bounding box if the box is visible
* Latest registered custom attribute reader now takes precedence in IECoreMaya.LiveScene
* On transform nodes, plugs with names prefixed by "ieAttr_" are now translated into "user:" attributes by the IECoreMaya.LiveScene
* String attributes called "ieTags" on transform nodes now interpreted as a space separated list of tags
#### IECoreHoudini
* Latest registered custom attribute reader now takes precedence in IECoreHoudini.LiveScene
#### IECoreRI
* added IECoreRI support for DoubleData, V3dData and Color3dData attributes
# 9.0.0-b2
#### IECore
- Removed SimpleSubsurface
- Removed Marschner code
- Removed HitMissTransform
- Removed TypeInfoCmp
- Removed UniformRandomPointDistributionOp
- Removed MappedRandomPointDistributionOp
- Removed AttributeCache
- Removed InterpolatedCache
- Removed spherical harmonics code
- Removed FileExampiners
- Improved MurmurHash performance
#### IECoreGL
- Added mip mapping to ColorTexture.
#### IECoreAppleseed
- Added visibility attributes support.
- Fixed bug converting OSL int shader parameters.
#### Build
- Windows build fixes.
- Updated default build arguments to work with standard packages on Ubuntu 12.04.
- Configured Travis automated testing.
# 9.0.0-b1
#### IECore
- Fixed GILReleasePtr crash.
- Adding the export macros for proper exporting of symbols.
#### IECoreMaya
- Fixed ieSceneShape component selection bug.
- Fixed crash when expanding ieSceneShapes containing coordinate systems.
#### IECoreGL
- Added ToGLSphereConverter.
- Adding the export macros for proper exporting of symbols.
#### IECoreRI
- Adding the export macros for proper exporting of symbols.
#### IECoreArnold
- Adding the export macros for proper exporting of symbols.
#### IECoreAppleseed
- Added initial support for Appleseed.
- Added crop window support.
- Fixed OSX compilation and linking issues.
#### IECoreAlembic
- Adding the export macros for proper exporting of symbols.
# 9.0.0-a11
#### IECore
- Optimised Object::memoryUsage()
#### IECoreGL
- Added support for setting array uniforms in shader parameters
#### IECoreAppleseed
- Added initial support for Appleseed
# 9.0.0-a10
#### IECore
- Fixed GIL bug in python Object creation
- Added implementation of tbb_hasher for boost::intrusive_ptr
#### IECoreGL
- Added State::ScopedBinding overload, allowing a binding to be ignored
- Changed IECoreGL::HitRecord::name field from InternedString to GLuint
- Added IECoreGL::Selector::loadName() overload to auto-generates names
- Removed TextureUnits.h
- Added python bindings for CurvesPrimitive
- Added python bindings for smoothing state components
- Added ToGLStateConverter for converting attributes to State objects
- Fixed crash in ShaderStateComponent::addParametersToShaderSetup()
#### Incompatibilities
- Changed IECoreGL::HitRecord members
- Removed IECoreGL/TextureUnits.h
#### Build
- Fixed compilation for GCC 4.2 on OS X
# 9.0.0-a9
#### IECore
- TIFFImageReader now checks if the tif is tagged as coming from tdlmake, and if so, sets the sourceColorSpace from the image description set by tdlmake.
#### IECoreGL
- Switched glsl diffuse and specular functions to match 3delight's properly normalized BRDFS
#### IECoreMaya
- Fixed coordinate system->maya locator converter crash for coordinate system with no transform
- Fixed crash in SceneShape::hasSceneShapeObject for invalid scene
#### IECoreRI
- Automatic instancing now defaults to on
# 9.0.0-a8
#### IECoreMaya
- Stopped IECoreMaya::LiveScene::readObject() returning null pointers.
- Stopped IECoreMaya::LiveScene::readAttribute() returning null pointers.
#### IECoreRI
- Fixed precision issue with computing the projection matrix for dsm depth remapping, which was causing deep holdout problems.
- Fixed bug when editing cameras when dealing with multiple cameras.
# 9.0.0-a7
#### IECore
- Reduced overhead of calling memoryUsage() on SimpleTypedData.
- Added pixelAspectRatio to list of standard camera parameters.
- Added InternedString( const char *, size_t length ) constructor.
#### IECoreRI
- Added pixel aspect ratio support to IECoreRI::Renderer.
- Fixed argument passing for RiProcDynamicLoad.
#### IECoreArnold
- Added pixel aspect ratio support to IECoreArnold::Renderer.
#### IECoreHoudini
- ToHoudiniGeometryConverter marks Pref and rest as non-transforming
- Preventing SceneCache Source from transforming rest/Pref
# 9.0.0-a6
#### IECore
- Multithreaded PointSmoothSkinningOp
- Added ExternalProcedural object type
- Added HasBaseType type trait
- Added boost::hash compatibility for MurmurHash
#### IECoreRI
- Added support for DynamicLoad and DelayedReadArchive procedurals
#### IECoreArnold
- Added support for delayed load DSO and .ass procedurals
# 9.0.0-a5
#### IECore
- LinkedScene::hash now takes extra children at links into account
#### IECoreRI
- Added support for RiFrame blocks in IECoreRI::Renderer.
#### IECoreMaya
- Renamed IECoreMaya::MayaScene to IECoreMaya::LiveScene
#### IECoreHoudini
- Renamed IECoreHoudini::HoudiniScene to IECoreHoudini::LiveScene
# 9.0.0-a4
#### IECore
- Bug fix in StreamIndexedIO that was causing sporadic crashes when loading SceneCaches during procedural expansion.
- Fixed some minor bounding box bugs in IECore.SceneCache
- Child bounds can now dilate bounds explicitly specified using IECore.SceneCache.writeBound()
- IECore.LinkedScene now supports extra children at link locations
- Fixed TransformOp double transform bug
# 9.0.0-a3
#### IECore
- Added SceneInterface::hash() method.
- Improved ConfigLoader.
- Now executes files within the same directory in alphabetical order.
- Added subdirectory argument.
- Env var accepted in place of search path.
# 9.0.0-a2
#### IECore
- Made RefCounted bindings release the GIL during C++ destruction.
- Changed RefCounted base class binding to use GILReleasePtr too.
- Replaced IECore::IntrusivePtr with boost::intrusive_ptr.
- Removed staticPointerCast, constPointerCast and dynamicPointerCast.
- Fixed crash in MeshMergeOp.
- Fixed mutex acquisition in LRUCache::updateListPosition().
- PointSmoothSkinningOp handles faceVarying normals and added refIndices parameter
- Changed DespatchedTypedData DataPtr & argument to Data *
- Fixed LRUCache hangs.
- Simplified RefCounted bindings.
- Fixed LRUCache crashes where clear() was called concurrently with get().
#### IECorePython
- Added IECorePython::CastToIntrusivePtr.
#### IECoreMaya
- MayaScene bindings now catch boost python exceptions
#### IECoreGL