1## DART 6
2
3### [DART 6.11.1 (2021-08-23)](https://github.com/dartsim/dart/milestone/67?closed=1)
4
5* Dynamics
6
7  * Fixed incorrect LCP construction in JointConstraint for multi-DOFs joints : [#1597](https://github.com/dartsim/dart/pull/1597)
8
9### [DART 6.11.0 (2021-07-15)](https://github.com/dartsim/dart/milestone/64?closed=1)
10
11* Math
12
13  * Added `Mesh`, `TriMesh`, and `Icosphere` classes: [#1579](https://github.com/dartsim/dart/pull/1579)
14
15* Collision
16
17  * Fixed incorrect group-group collision checking for BulletCollisionDetector: [#1585](https://github.com/dartsim/dart/pull/1585), [#717](https://github.com/dartsim/dart/issues/717)
18
19* Dynamics
20
21  * Fixed servo motor doesn't respect joint position limits: [#1587](https://github.com/dartsim/dart/pull/1587)
22
23* GUI
24
25  * Fixed incorrect MultiSphereConvexHull rendering: [#1579](https://github.com/dartsim/dart/pull/1579)
26  * Use GLVND over the legacy OpenGL libraries: [#1584](https://github.com/dartsim/dart/pull/1584)
27
28* Build and testing
29
30  * Add DART_ prefix to macros to avoid potential conflicts: [#1586](https://github.com/dartsim/dart/pull/1586)
31
32### [DART 6.10.1 (2021-04-19)](https://github.com/dartsim/dart/milestone/65?closed=1)
33
34* Dynamics
35
36  * Fixed inertia calculation of CapsuleShape: [#1561](https://github.com/dartsim/dart/pull/1561)
37
38* GUI
39
40  * Changed to protect OpenGL attributes shared by ImGui and OSG: [#1558](https://github.com/dartsim/dart/pull/1558)
41  * Changed to set backface culling by default: [#1559](https://github.com/dartsim/dart/pull/1559)
42
43* dartpy
44
45  * Added Python binding for BodyNode::getBodyForce(): [#1563](https://github.com/dartsim/dart/pull/1563)
46
47### [DART 6.10.0 (2021-04-09)](https://github.com/dartsim/dart/milestone/58?closed=1)
48
49* Common
50
51  * Removed use of boost::filesystem in public APIs: [#1417](https://github.com/dartsim/dart/pull/1417)
52  * Changed Signal to remove connection when they're being disconnected: [#1462](https://github.com/dartsim/dart/pull/1462)
53
54* Collision
55
56  * Added ConeShape support for FCLCollisionDetector: [#1447](https://github.com/dartsim/dart/pull/1447)
57  * Fixed segfault from raycast when no ray hit: [#1461](https://github.com/dartsim/dart/pull/1461)
58  * Added PyramidShape class: [#1466](https://github.com/dartsim/dart/pull/1466)
59
60* Kinematics
61
62  * Added IkFast parameter accessors to IkFast class: [#1396](https://github.com/dartsim/dart/pull/1396)
63  * Changed IkFast to wrap IK solutions into the joint limits for RevoluteJoint: [#1452](https://github.com/dartsim/dart/pull/1452)
64  * Added option to specify reference frame of TaskSpaceRegion: [#1548](https://github.com/dartsim/dart/pull/1548)
65
66* Dynamics
67
68  * Fixed friction and restitution of individual shapes in a body: [#1369](https://github.com/dartsim/dart/pull/1369)
69  * Fixed soft body simulation when command input is not resetted: [#1372](https://github.com/dartsim/dart/pull/1372)
70  * Added joint velocity limit constraint support: [#1407](https://github.com/dartsim/dart/pull/1407)
71  * Added type property to constrain classes: [#1415](https://github.com/dartsim/dart/pull/1415)
72  * Allowed to set joint rest position out of joint limits: [#1418](https://github.com/dartsim/dart/pull/1418)
73  * Added secondary friction coefficient parameter: [#1424](https://github.com/dartsim/dart/pull/1424)
74  * Allowed to set friction direction per ShapeFrame: [#1427](https://github.com/dartsim/dart/pull/1427)
75  * Fixed incorrect vector resizing in BoxedLcpConstraintSolver: [#1459](https://github.com/dartsim/dart/pull/1459)
76  * Changed to increment BodyNode version when it's being removed from Skeleton: [#1489](https://github.com/dartsim/dart/pull/1489)
77  * Changed to print warning only once from BulletCollisionDetector::collide/distance: [#1546](https://github.com/dartsim/dart/pull/1546)
78  * Added force dependent slip: [#1505](https://github.com/dartsim/dart/pull/1505)
79
80* GUI
81
82  * Fixed memory leaks from dart::gui::osg::Viewer: [#1349](https://github.com/dartsim/dart/pull/1349)
83  * Added point rendering mode to PointCloudShape: [#1351](https://github.com/dartsim/dart/pull/1351), [#1355](https://github.com/dartsim/dart/pull/1355)
84  * Updated ImGui to 1.71: [#1362](https://github.com/dartsim/dart/pull/1362)
85  * Updated ImGui to 1.79: [#1498](https://github.com/dartsim/dart/pull/1498)
86  * Fixed refresh of LineSegmentShapeNode: [#1381](https://github.com/dartsim/dart/pull/1381)
87  * Fixed OSG transparent object sorting: [#1414](https://github.com/dartsim/dart/pull/1414)
88  * Added modifier key support to ImGuiHandler: [#1436](https://github.com/dartsim/dart/pull/1436)
89  * Fixed mixed intrinsic and extrinsic camera parameters in OpenGL projection matrix: [#1485](https://github.com/dartsim/dart/pull/1485)
90  * Enabled mouse middle and right buttons in ImGuiHandler: [#1500](https://github.com/dartsim/dart/pull/1500)
91
92* Parser
93
94  * Allowed parsing SDF up to version 1.6: [#1385](https://github.com/dartsim/dart/pull/1385)
95  * Fixed SDF parser not creating dynamics aspect for collision shape: [#1386](https://github.com/dartsim/dart/pull/1386)
96  * Added root joint parsing option in URDF parser: [#1399](https://github.com/dartsim/dart/pull/1399), [#1406](https://github.com/dartsim/dart/pull/1406)
97  * Enabled URDF parser to read visual and collision names: [#1410](https://github.com/dartsim/dart/pull/1410)
98  * Added (experimental) MJCF parser: [#1416](https://github.com/dartsim/dart/pull/1416)
99
100* dartpy
101
102  * Added raycast option and result: [#1343](https://github.com/dartsim/dart/pull/1343)
103  * Added GUI event handler: [#1346](https://github.com/dartsim/dart/pull/1346)
104  * Added shadow technique: [#1348](https://github.com/dartsim/dart/pull/1348)
105  * Added findSolution and solveAndApply to InverseKinematics: [#1358](https://github.com/dartsim/dart/pull/1358)
106  * Added InteractiveFrame and ImGui APIs: [#1359](https://github.com/dartsim/dart/pull/1359)
107  * Added bindings for Joint::getTransformFrom{Parent|Child}BodyNode(): [#1377](https://github.com/dartsim/dart/pull/1377)
108  * Added bindings for BodyNode::getChild{BodyNode|Joint}(): [#1387](https://github.com/dartsim/dart/pull/1387)
109  * Added bindings for Inertia: [#1388](https://github.com/dartsim/dart/pull/1388)
110  * Added bindings for getting all BodyNodes from a Skeleton: [#1397](https://github.com/dartsim/dart/pull/1397)
111  * Added bindings for background color support in osg viewer: [#1398](https://github.com/dartsim/dart/pull/1398)
112  * Added bindings for BallJoint::convertToPositions(): [#1408](https://github.com/dartsim/dart/pull/1408)
113  * Fixed typos in Skeleton: [#1392](https://github.com/dartsim/dart/pull/1392)
114  * Fixed enabling drag and drop for InteractiveFrame: [#1432](https://github.com/dartsim/dart/pull/1432)
115  * Added bindings for pointcloud and contact retrieval: [#1455](https://github.com/dartsim/dart/pull/1455)
116  * Fixed TypeError from dartpy.dynamics.Node.getBodyNodePtr(): [#1463](https://github.com/dartsim/dart/pull/1463)
117  * Added pybind/eigen.h to DistanceResult.cpp for read/write of eigen types: [#1480](https://github.com/dartsim/dart/pull/1480)
118  * Added bindings for adding ShapeFrames to CollisionGroup: [#1490](https://github.com/dartsim/dart/pull/1490)
119  * Changed dartpy install command to make install-dartpy: [#1503](https://github.com/dartsim/dart/pull/1503)
120  * Added bindings for CollisionFilter, CollisionGroup, and Node: [#1545](https://github.com/dartsim/dart/pull/1545)
121  * Added bindings for TaskSpaceRegion: [#1550](https://github.com/dartsim/dart/pull/1550)
122
123* Build and testing
124
125  * Fixed compiler warnings from GCC 9.1: [#1366](https://github.com/dartsim/dart/pull/1366)
126  * Replaced M_PI with dart::math::constantsd::pi(): [#1367](https://github.com/dartsim/dart/pull/1367)
127  * Enabled octomap support on macOS: [#1078](https://github.com/dartsim/dart/pull/1078)
128  * Removed dependency on Boost::regex: [#1412](https://github.com/dartsim/dart/pull/1412)
129  * Added support new if() IN_LIST operator in DARTConfig.cmake: [#1434](https://github.com/dartsim/dart/pull/1434)
130  * Updated Findfcl.cmake to support FCL 0.6: [#1441](https://github.com/dartsim/dart/pull/1441)
131  * Added gtest macros for Eigen object comparisons: [#1443](https://github.com/dartsim/dart/pull/1443)
132  * Removed gccfilter: [#1464](https://github.com/dartsim/dart/pull/1464)
133  * Allowed to set CMAKE_INSTALL_PREFIX on Windows: [#1478](https://github.com/dartsim/dart/pull/1478)
134  * Enforced to use OpenSceneGraph 3.7.0 or greater on macOS Catalina: [#1479](https://github.com/dartsim/dart/pull/1479)
135  * Fixed compatibility with clang-cl: [#1509](https://github.com/dartsim/dart/pull/1509)
136  * Fixed MSVC linking for assimp and fcl: [#1510](https://github.com/dartsim/dart/pull/1510)
137  * Fixed AspectWithState-relate compile error on Windows: [#1528](https://github.com/dartsim/dart/pull/1528)
138  * Made `dart.pc` relocatable: [#1529](https://github.com/dartsim/dart/pull/1529)
139  * Added CI for multiple Linux platforms: arm64 and ppc64le: [#1531](https://github.com/dartsim/dart/pull/1531)
140  * Fixed Aspect/Composite-relate tests on Windows/MSVC: [#1541](https://github.com/dartsim/dart/pull/1541), [#1542](https://github.com/dartsim/dart/pull/1542)
141  * Added `DART_SKIP_<dep>`_advanced option: [#1529](https://github.com/dartsim/dart/pull/1529)
142  * Replaced OpenGL dependency variables with targets: [#1552](https://github.com/dartsim/dart/pull/1552)
143
144* Documentation
145
146  * Updated tutorial documentation and code to reflect new APIs: [#1481](https://github.com/dartsim/dart/pull/1481)
147
148### [DART 6.9.5 (2020-10-17)](https://github.com/dartsim/dart/milestone/63?closed=1)
149
150* Optimization
151
152  * Added Ipopt >= 3.13 support: [#1506](https://github.com/dartsim/dart/pull/1506)
153
154### [DART 6.9.4 (2020-08-30)](https://github.com/dartsim/dart/milestone/62?closed=1)
155
156* Build
157
158  * Added support new if() IN_LIST operator in DARTConfig.cmake (6.9 backport): [#1494](https://github.com/dartsim/dart/pull/1494)
159
160### [DART 6.9.3 (2020-08-26)](https://github.com/dartsim/dart/milestone/61?closed=1)
161
162* Dynamics
163
164  * Changed to update the Properties version of a BodyNode when moved to a new Skeleton: [#1445](https://github.com/dartsim/dart/pull/1445)
165  * Fixed incorrect implicit joint damping/spring force computation in inverse dynamics: [#1451](https://github.com/dartsim/dart/pull/1451)
166
167### [DART 6.9.2 (2019-08-16)](https://github.com/dartsim/dart/milestone/60?closed=1)
168
169* Dynamics
170
171  * Allowed constraint force mixing > 1: [#1371](https://github.com/dartsim/dart/pull/1371)
172
173### [DART 6.9.1 (2019-06-06)](https://github.com/dartsim/dart/milestone/59?closed=1)
174
175* Collision
176
177  * Added default constructor to RayHit: [#1345](https://github.com/dartsim/dart/pull/1345)
178
179* dartpy
180
181  * Updated build scripts for uploading dartpy to PyPI: [#1341](https://github.com/dartsim/dart/pull/1341)
182
183### [DART 6.9.0 (2019-05-26)](https://github.com/dartsim/dart/milestone/52?closed=1)
184
185* API Breaking Changes
186
187  * DART 6.9.0 and later require compilers that support C++14.
188
189* Common
190
191  * Deprecated custom make_unique in favor of std::make_unique: [#1317](https://github.com/dartsim/dart/pull/1317)
192
193* Collision Detection
194
195  * Added raycast query to BulletCollisionDetector: [#1309](https://github.com/dartsim/dart/pull/1309)
196
197* Dynamics
198
199  * Added safeguard for accessing Assimp color: [#1313](https://github.com/dartsim/dart/pull/1313)
200
201* Parser
202
203  * Changed URDF parser to use URDF material color when specified: [#1295](https://github.com/dartsim/dart/pull/1295)
204
205* GUI
206
207  * Added heightmap support to OSG renderer: [#1293](https://github.com/dartsim/dart/pull/1293)
208  * Improved voxel grid and point cloud rendering performance: [#1294](https://github.com/dartsim/dart/pull/1294)
209  * Fixed incorrect alpha value update of InteractiveFrame: [#1297](https://github.com/dartsim/dart/pull/1297)
210  * Fixed dereferencing a dangling pointer in WorldNode: [#1311](https://github.com/dartsim/dart/pull/1311)
211  * Removed warning of ImGuiViewer + OSG shadow: [#1312](https://github.com/dartsim/dart/pull/1312)
212  * Added shape type and color options to PointCloudShape: [#1314](https://github.com/dartsim/dart/pull/1314), [#1316](https://github.com/dartsim/dart/pull/1316)
213  * Fixed incorrect transparency of MeshShape for MATERIAL_COLOR mode: [#1315](https://github.com/dartsim/dart/pull/1315)
214  * Fixed incorrect PointCloudShape transparency: [#1330](https://github.com/dartsim/dart/pull/1330)
215  * Improved voxel rendering by using multiple nodes instead of CompositeShape: [#1334](https://github.com/dartsim/dart/pull/1334)
216
217* Examples and Tutorials
218
219  * Updated examples directory to make dart::gui::osg more accessible: [#1305](https://github.com/dartsim/dart/pull/1305)
220
221* dartpy
222
223  * Switched to pybind11: [#1307](https://github.com/dartsim/dart/pull/1307)
224  * Added grid visual: [#1318](https://github.com/dartsim/dart/pull/1318)
225  * Added ReferentialSkeleton, Linkage, and Chain: [#1321](https://github.com/dartsim/dart/pull/1321)
226  * Enabled WorldNode classes to overload virtual functions in Python: [#1322](https://github.com/dartsim/dart/pull/1322)
227  * Added JacobianNode and operational space controller example: [#1323](https://github.com/dartsim/dart/pull/1323)
228  * Removed static create() functions in favor of custom constructors: [#1324](https://github.com/dartsim/dart/pull/1324)
229  * Added optimizer APIs with GradientDescentSolver and NloptSolver: [#1325](https://github.com/dartsim/dart/pull/1325)
230  * Added SimpleFrame: [#1326](https://github.com/dartsim/dart/pull/1326)
231  * Added basic inverse kinematics APIs: [#1327](https://github.com/dartsim/dart/pull/1327)
232  * Added shapes and ShapeFrame aspects: [#1328](https://github.com/dartsim/dart/pull/1328)
233  * Added collision APIs: [#1329](https://github.com/dartsim/dart/pull/1329)
234  * Added DegreeOfFreedom and ShapeNode: [#1332](https://github.com/dartsim/dart/pull/1332)
235  * Added constraint APIs: [#1333](https://github.com/dartsim/dart/pull/1333)
236  * Added BallJoint, RevoluteJoint, joint properties, and chain tutorial (incomplete): [#1335](https://github.com/dartsim/dart/pull/1335)
237  * Added all the joints: [#1337](https://github.com/dartsim/dart/pull/1337)
238  * Added DART, Bullet, Ode collision detectors: [#1339](https://github.com/dartsim/dart/pull/1339)
239
240### [DART 6.8.5 (2019-05-26)](https://github.com/dartsim/dart/milestone/57?closed=1)
241
242* Collision
243
244  * Fixed handling of submeshes in ODE collision detector: [#1336](https://github.com/dartsim/dart/pull/1336)
245
246#### Compilers Tested
247
248* Linux
249
250  * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0
251  * GCC 32-bit: 5.4.0
252
253* macOS
254
255  * AppleClang: 9.1.0, 10.0.0
256
257### [DART 6.8.4 (2019-05-03)](https://github.com/dartsim/dart/milestone/56?closed=1)
258
259#### Changes
260
261* GUI
262
263  * Fixed crashing on exiting OSG + ImGui applications: [#1303](https://github.com/dartsim/dart/pull/1303)
264
265#### Compilers Tested
266
267* Linux
268
269  * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0
270  * GCC 32-bit: 5.4.0
271
272* macOS
273
274  * AppleClang: 9.1.0, 10.0.0
275
276### [DART 6.8.3 (2019-05-01)](https://github.com/dartsim/dart/milestone/55?closed=1)
277
278#### Changes
279
280* Parser
281
282  * Fixed VskParker returning incorrect resource retriever: [#1300](https://github.com/dartsim/dart/pull/1300)
283
284* Build
285
286  * Fixed building with pagmo's optional dependencies: [#1301](https://github.com/dartsim/dart/pull/1301)
287
288#### Compilers Tested
289
290* Linux
291
292  * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0
293  * GCC 32-bit: 5.4.0
294
295* macOS
296
297  * AppleClang: 9.1.0, 10.0.0
298
299### [DART 6.8.2 (2019-04-23)](https://github.com/dartsim/dart/milestone/54?closed=1)
300
301#### Changes
302
303* Dynamics
304
305  * Fixed BoxedLcpConstraintSolver is not API compatible with 6.7: [#1291](https://github.com/dartsim/dart/pull/1291)
306
307* Build
308
309  * Fixed building with FCL built without Octomap: [#1292](https://github.com/dartsim/dart/pull/1292)
310
311#### Compilers Tested
312
313* Linux
314
315  * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0
316  * GCC 32-bit: 5.4.0
317
318* macOS
319
320  * AppleClang: 9.1.0, 10.0.0
321
322### [DART 6.8.1 (2019-04-23)](https://github.com/dartsim/dart/milestone/53?closed=1)
323
324#### Changes
325
326* Build System
327
328  * Fixed invalid double quotation marks in DARTFindBoost.cmake: [#1283](https://github.com/dartsim/dart/pull/1283)
329  * Disabled octomap support on macOS: [#1284](https://github.com/dartsim/dart/pull/1284)
330
331#### Compilers Tested
332
333* Linux
334
335  * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0
336  * GCC 32-bit: 5.4.0
337
338* macOS
339
340  * AppleClang: 9.1.0, 10.0.0
341
342### [DART 6.8.0 (2019-04-22)](https://github.com/dartsim/dart/milestone/48?closed=1)
343
344#### Changes
345
346* Kinematics
347
348  * Added findSolution() and solveAndApply() to InverseKinematics and HierarchicalIk classes and deprecated solve(~) member functions: [#1266](https://github.com/dartsim/dart/pull/1266)
349  * Added an utility constructor to Linkage::Criteria to create sequence Linkage: [#1273](https://github.com/dartsim/dart/pull/1273)
350
351* Dynamics
352
353  * Fixed incorrect transpose check in Inertia::verifySpatialTensor(): [#1258](https://github.com/dartsim/dart/pull/1258)
354  * Allowed BoxedLcpConstraintSolver to have a secondary LCP solver: [#1265](https://github.com/dartsim/dart/pull/1265)
355
356* Simulation
357
358  * The LCP solver will be less aggressive about printing out unnecessary warnings: [#1238](https://github.com/dartsim/dart/pull/1238)
359  * Fixed not copying constraints in World::setConstraintSolver(): [#1260](https://github.com/dartsim/dart/pull/1260)
360
361* Collision Detection
362
363  * The BodyNodeCollisionFilter will ignore contacts between immobile bodies: [#1232](https://github.com/dartsim/dart/pull/1232)
364
365* Planning
366
367  * Fixed linking error of FLANN by explicitly linking to lz4: [#1221](https://github.com/dartsim/dart/pull/1221)
368
369* Python
370
371  * Added (experimental) Python binding: [#1237](https://github.com/dartsim/dart/pull/1237)
372
373* Parsers
374
375  * Changed urdf parser to warn if robot model has multi-tree: [#1270](https://github.com/dartsim/dart/pull/1270)
376
377* GUI
378
379  * Updated ImGui to 1.69: [#1274](https://github.com/dartsim/dart/pull/1274)
380  * Added VoxelGridShape support to OSG renderer: [#1276](https://github.com/dartsim/dart/pull/1276)
381  * Added PointCloudShape and its OSG rendering: [#1277](https://github.com/dartsim/dart/pull/1277)
382  * Added grid visual to OSG renderer: [#1278](https://github.com/dartsim/dart/pull/1278), [#1280](https://github.com/dartsim/dart/pull/1280)
383
384* Build System
385
386  * Changed to use GNUInstallDirs for install paths: [#1241](https://github.com/dartsim/dart/pull/1241)
387  * Fixed not failing for missing required dependencies: [#1250](https://github.com/dartsim/dart/pull/1250)
388  * Fixed attempting to link octomap when not imported: [#1253](https://github.com/dartsim/dart/pull/1253)
389  * Fixed not defining boost targets: [#1254](https://github.com/dartsim/dart/pull/1254)
390
391#### Compilers Tested
392
393* Linux
394
395  * GCC 64-bit: 5.4.0, 7.3.0, 8.2.0
396  * GCC 32-bit: 5.4.0
397
398* macOS
399
400  * AppleClang: 9.1.0, 10.0.0
401
402### [DART 6.7.3 (2019-02-19)](https://github.com/dartsim/dart/milestone/51?closed=1)
403
404#### Changes
405
406* Dynamics
407
408  * Fixed Skeleton::setState(): [#1245](https://github.com/dartsim/dart/pull/1245)
409
410#### Compilers Tested
411
412* Linux
413
414  * GCC (C++11): 5.4.0, 7.3.0, 8.2.0
415
416* Linux (32-bit)
417
418  * GCC (C++11): 5.4.0
419
420* macOS
421
422  * AppleClang (C++11): 9.1.0
423
424### [DART 6.7.2 (2019-01-17)](https://github.com/dartsim/dart/milestone/50?closed=1)
425
426#### Changes
427
428* Build system
429
430  * Fixed #1223 for the recursive case: [#1227](https://github.com/dartsim/dart/pull/1227)
431  * Specified mode for find_package(): [#1228](https://github.com/dartsim/dart/pull/1228)
432
433#### Compilers Tested
434
435* Linux
436
437  * GCC (C++11): 5.4.0, 7.3.0, 8.2.0
438
439* Linux (32-bit)
440
441  * GCC (C++11): 5.4.0
442
443* macOS
444
445  * AppleClang (C++11): 9.1.0
446
447### [DART 6.7.1 (2019-01-15)](https://github.com/dartsim/dart/milestone/49?closed=1)
448
449#### Changes
450
451* Build system
452
453  * Ensure that imported targets of dependencies are always created when finding the dart package: [#1222](https://github.com/dartsim/dart/pull/1222)
454  * Set components to not-found when their external dependencies are missing: [#1223](https://github.com/dartsim/dart/pull/1223)
455
456#### Compilers Tested
457
458* Linux
459
460  * GCC (C++11): 5.4.0, 7.3.0, 8.2.0
461
462* Linux (32-bit)
463
464  * GCC (C++11): 5.4.0
465
466* macOS
467
468  * AppleClang (C++11): 9.1.0
469
470### [DART 6.7.0 (2019-01-10)](https://github.com/dartsim/dart/milestone/45?closed=1)
471
472#### Changes
473
474* Build system
475
476  * Fixed compilation warnings for newer versions of compilers: [#1177](https://github.com/dartsim/dart/pull/1177)
477  * Changed to generate namespace headers without requiring *.hpp.in files: [#1192](https://github.com/dartsim/dart/pull/1192)
478  * Dropped supporting Ubuntu Trusty and started using imported targets of dependencies: [#1212](https://github.com/dartsim/dart/pull/1212)
479
480* Collision Detection
481
482  * CollisionGroups will automatically update their objects when any changes occur to Skeletons or BodyNodes that they are subscribed to: [#1112](https://github.com/dartsim/dart/pull/1112)
483  * Contact points with negative penetration depth will be ignored: [#1185](https://github.com/dartsim/dart/pull/1185)
484
485* Math
486
487  * Consolidated random functions into Random class: [#1109](https://github.com/dartsim/dart/pull/1109)
488
489* Dynamics
490
491  * Refactor constraint solver: [#1099](https://github.com/dartsim/dart/pull/1099), [#1101](https://github.com/dartsim/dart/pull/1101)
492  * Added mimic joint functionality as a new actuator type: [#1178](https://github.com/dartsim/dart/pull/1178)
493  * Added clone function to MetaSkeleton: [#1201](https://github.com/dartsim/dart/pull/1201)
494
495* Optimization
496
497  * Added multi-objective optimization with pagmo2 support: [#1106](https://github.com/dartsim/dart/pull/1106)
498
499* GUI
500
501  * Reorganized OpenGL and GLUT files: [#1088](https://github.com/dartsim/dart/pull/1088)
502  * Added the RealTimeWorldNode to display simulations at real-time rates: [#1216](https://github.com/dartsim/dart/pull/1216)
503
504* Misc
505
506  * Updated Googletest to version 1.8.1: [#1214](https://github.com/dartsim/dart/pull/1214)
507
508#### Compilers Tested
509
510* Linux
511
512  * GCC (C++11): 5.4.0, 7.3.0, 8.2.0
513
514* Linux (32-bit)
515
516  * GCC (C++11): 5.4.0
517
518* macOS
519
520  * AppleClang (C++11): 9.1.0
521
522### [DART 6.6.2 (2018-09-03)](https://github.com/dartsim/dart/milestone/47?closed=1)
523
524* Utils
525
526  * Fixed checking file existence in DartResourceRetriever: [#1107](https://github.com/dartsim/dart/pull/1107)
527
528### [DART 6.6.1 (2018-08-04)](https://github.com/dartsim/dart/milestone/46?closed=1)
529
530* Utils
531
532  * Added option to DartResourceRetriever to search from environment variable DART_DATA_PATH: [#1095](https://github.com/dartsim/dart/pull/1095)
533
534* Examples
535
536  * Fixed CMakeLists.txt of humanJointLimits: [#1094](https://github.com/dartsim/dart/pull/1094)
537
538### [DART 6.6.0 (2018-08-02)](https://github.com/dartsim/dart/milestone/44?closed=1)
539
540* Collision detection
541
542  * Added voxel grid map: [#1076](https://github.com/dartsim/dart/pull/1076), [#1083](https://github.com/dartsim/dart/pull/1083)
543  * Added heightmap support: [#1069](https://github.com/dartsim/dart/pull/1069)
544
545### [DART 6.5.0 (2018-05-12)](https://github.com/dartsim/dart/milestone/41?closed=1)
546
547* Common
548
549  * Added LockableReference classes: [#1011](https://github.com/dartsim/dart/pull/1011)
550  * Added missing \<vector\> to Memory.hpp: [#1057](https://github.com/dartsim/dart/pull/1057)
551
552* GUI
553
554  * Added FOV API to OSG viewer: [#1048](https://github.com/dartsim/dart/pull/1048)
555
556* Parsers
557
558  * Fixed incorrect parsing of continuous joints specified in URDF [#1064](https://github.com/dartsim/dart/pull/1064)
559
560* Simulation
561
562  * Added World::hasSkeleton(): [#1050](https://github.com/dartsim/dart/pull/1050)
563
564* Misc
565
566  * Fixed memory leaks in mesh loading: [#1066](https://github.com/dartsim/dart/pull/1066)
567
568### [DART 6.4.0 (2018-03-26)](https://github.com/dartsim/dart/milestone/39?closed=1)
569
570* Common
571
572  * Added DART_COMMON_DECLARE_SMART_POINTERS macro: [#1022](https://github.com/dartsim/dart/pull/1022)
573  * Added ResourceRetriever::getFilePath(): [#972](https://github.com/dartsim/dart/pull/972)
574
575* Kinematics/Dynamics
576
577  * Added relative Jacobian functions to MetaSkeleton: [#997](https://github.com/dartsim/dart/pull/997)
578  * Added vectorized joint limit functions: [#996](https://github.com/dartsim/dart/pull/996)
579  * Added lazy evaluation for shape's volume and bounding-box computation: [#959](https://github.com/dartsim/dart/pull/959)
580  * Added IkFast support as analytic IK solver: [#887](https://github.com/dartsim/dart/pull/887)
581  * Added TranslationalJoint2D: [#1003](https://github.com/dartsim/dart/pull/1003)
582  * Fixed NaN values caused by zero-length normals in ContactConstraint: [#881](https://github.com/dartsim/dart/pull/881)
583  * Extended BodyNode::createShapeNode() to accept more types of arguments: [#986](https://github.com/dartsim/dart/pull/986)
584
585* Collision detection
586
587  * Added FCL 0.6 support (backport of #873): [#936](https://github.com/dartsim/dart/pull/936)
588
589* GUI
590
591  * Added support of rendering texture images: [#973](https://github.com/dartsim/dart/pull/973)
592  * Added OSG shadows: [#978](https://github.com/dartsim/dart/pull/978)
593
594* Examples
595
596  * Added humanJointLimits: [#1016](https://github.com/dartsim/dart/pull/1016)
597
598* License
599
600  * Added Personal Robotics Lab and Open Source Robotics Foundation as contributors: [#929](https://github.com/dartsim/dart/pull/929)
601
602* Misc
603
604  * Added World::create(): [#962](https://github.com/dartsim/dart/pull/962)
605  * Added MetaSkeleton::hasBodyNode() and MetaSkeleton::hasJoint(): [#1000](https://github.com/dartsim/dart/pull/1000)
606  * Suppressed -Winjected-class-name warnings from Clang 5.0.0: [#964](https://github.com/dartsim/dart/pull/964)
607  * Suppressed -Wdangling-else warnings from GCC 7.2.0: [#937](https://github.com/dartsim/dart/pull/937)
608  * Changed console macros to use global namespace resolutions: [#1010](https://github.com/dartsim/dart/pull/1010)
609  * Fixed build with Eigen 3.2.1-3.2.8: [#1042](https://github.com/dartsim/dart/pull/1042)
610  * Fixed various build issues with Visual Studio: [#956](https://github.com/dartsim/dart/pull/956)
611  * Removed TinyXML dependency: [#993](https://github.com/dartsim/dart/pull/993)
612
613### [DART 6.3.1 (2018-03-21)](https://github.com/dartsim/dart/milestone/42?closed=1)
614
615* Build system
616
617  * Removed an undefined cmake macro/function: [#1036](https://github.com/dartsim/dart/pull/1036)
618
619* ROS support
620
621  * Tweaked package.xml for catkin support: [#1027](https://github.com/dartsim/dart/pull/1027), [#1029](https://github.com/dartsim/dart/pull/1029), [#1031](https://github.com/dartsim/dart/pull/1031), [#1032](https://github.com/dartsim/dart/pull/1031), [#1033](https://github.com/dartsim/dart/pull/1033)
622
623### [DART 6.3.0 (2017-10-04)](https://github.com/dartsim/dart/milestone/36?closed=1)
624
625* Collision detection
626
627  * Added a feature of disabling body node pairs to BodyNodeCollisionFilter: [#911](https://github.com/dartsim/dart/pull/911)
628
629* Kinematics/Dynamics
630
631  * Added setter and getter for WeldJointConstraint::mRelativeTransform: [#910](https://github.com/dartsim/dart/pull/910)
632
633* Parsers
634
635  * Improved SkelParser to read alpha value: [#914](https://github.com/dartsim/dart/pull/914)
636
637* Misc
638
639  * Changed not to use lambda function as an workaround for DART python binding: [#916](https://github.com/dartsim/dart/pull/916)
640
641### [DART 6.2.1 (2017-08-08)](https://github.com/dartsim/dart/milestone/37?closed=1)
642
643* Collision detection
644
645  * Fixed collision checking between objects from the same body node: [#894](https://github.com/dartsim/dart/pull/894)
646
647* Kinematics/Dynamics
648
649  * Fixed transform of ScrewJoint with thread pitch: [#855](https://github.com/dartsim/dart/pull/855)
650
651* Parsers
652
653  * Fixed incorrect reading of <use_parent_model_frame> from SDF: [#893](https://github.com/dartsim/dart/pull/893)
654  * Fixed missing reading of joint friction from URDF: [#891](https://github.com/dartsim/dart/pull/891)
655
656* Testing
657
658  * Fixed testing ODE collision detector on macOS: [#884](https://github.com/dartsim/dart/pull/884)
659  * Removed redundant main body for each test source file: [#856](https://github.com/dartsim/dart/pull/856)
660
661* Misc
662
663  * Fixed build of dart-gui-osg that depends on the presence of OSG: [#898](https://github.com/dartsim/dart/pull/898)
664  * Fixed build of examples and tutorials on macOS: [#889](https://github.com/dartsim/dart/pull/889)
665  * Fixed missing overriding method OdePlane::isPlaceable(): [#886](https://github.com/dartsim/dart/pull/886)
666  * Replaced use of enum by static constexpr: [#852](https://github.com/dartsim/dart/pull/852), [#904](https://github.com/dartsim/dart/pull/904)
667
668### [DART 6.2.0 (2017-05-15)](https://github.com/dartsim/dart/milestone/30?closed=1)
669
670* Common
671
672  * Added Factory class and applied it to collision detection creation: [#864](https://github.com/dartsim/dart/pull/864)
673  * Added readAll() to Resource and ResourceRetriever: [#875](https://github.com/dartsim/dart/pull/875)
674
675* Math
676
677  * Added accessors for diameters and radii of EllipsoidShape, and deprecated EllipsoidShape::get/setSize(): [#829](https://github.com/dartsim/dart/pull/829)
678  * Fixed Lemke LCP solver (#808 for DART 6): [#812](https://github.com/dartsim/dart/pull/812)
679
680* Collision Detection
681
682  * Added support of ODE collision detector: [#861](https://github.com/dartsim/dart/pull/861)
683  * Fixed incorrect collision filtering of BulletCollisionDetector: [#859](https://github.com/dartsim/dart/pull/859)
684
685* Simulation
686
687  * Fixed World didn't clear collision results on reset: [#863](https://github.com/dartsim/dart/pull/863)
688
689* Parsers
690
691  * Fixed incorrect creation of resource retriever in SkelParser and SdfParser: [#847](https://github.com/dartsim/dart/pull/847), [#849](https://github.com/dartsim/dart/pull/849)
692
693* GUI
694
695  * Added MotionBlurSimWindow: [#840](https://github.com/dartsim/dart/pull/840)
696  * Improved MultiSphereShape rendering in GLUT renderer: [#862](https://github.com/dartsim/dart/pull/862)
697  * Fixed incorrect parsing of materials and normal scaling from URDF: [#851](https://github.com/dartsim/dart/pull/851)
698  * Fixed the OSG renderer not rendering collision geometries: [#851](https://github.com/dartsim/dart/pull/851)
699  * Fixed that GUI was rendering white lines with nvidia drivers: [#805](https://github.com/dartsim/dart/pull/805)
700
701* Misc
702
703  * Added createShared() and createUnique() pattern: [#844](https://github.com/dartsim/dart/pull/844)
704  * Added Skeleton::getRootJoint(): [#832](https://github.com/dartsim/dart/pull/832)
705  * Added CMake targets for code formatting using clang-format: [#811](https://github.com/dartsim/dart/pull/811), [#817](https://github.com/dartsim/dart/pull/817)
706  * Renamed MultiSphereShape to MultiSphereConvexHullShape: [#865](https://github.com/dartsim/dart/pull/865)
707  * Modified the member function names pertain to lazy evaluation to be more relevant to their functionalities: [#833](https://github.com/dartsim/dart/pull/833)
708
709* Tutorials & Examples
710
711  * Allowed tutorials and examples to be built out of DART source tree: [#842](https://github.com/dartsim/dart/pull/842)
712  * Fixed tutorialDominoes-Finished that didn't work with the latest DART: [#807](https://github.com/dartsim/dart/pull/807)
713
714### DART 6.1.2 (2017-01-13)
715
716* Dynamics
717
718  * Fixed bug of ContactConstraint with kinematic joints: [#809](https://github.com/dartsim/dart/pull/809)
719
720* Misc
721
722  * Fixed that ZeroDofJoint::getIndexInTree was called: [#818](https://github.com/dartsim/dart/pull/818)
723
724### DART 6.1.1 (2016-10-14)
725
726* Build
727
728  * Modified to build DART without SIMD options by default: [#790](https://github.com/dartsim/dart/pull/790)
729  * Modified to build external libraries as separately build targets: [#787](https://github.com/dartsim/dart/pull/787)
730  * Modified to export CMake target files separately per target: [#786](https://github.com/dartsim/dart/pull/786)
731
732* Misc
733
734  * Updated lodepng up to version 20160501: [#791](https://github.com/dartsim/dart/pull/791)
735
736### DART 6.1.0 (2016-10-07)
737
738* Collision detection
739
740  * Added distance API: [#744](https://github.com/dartsim/dart/pull/744)
741  * Fixed direction of contact normal of BulletCollisionDetector: [#763](https://github.com/dartsim/dart/pull/763)
742
743* Dynamics
744
745  * Added `computeLagrangian()` to `MetaSkeleton` and `BodyNode`: [#746](https://github.com/dartsim/dart/pull/746)
746  * Added new shapes: sphere, capsule, cone, and multi-sphere: [#770](https://github.com/dartsim/dart/pull/770), [#769](https://github.com/dartsim/dart/pull/769), [#745](https://github.com/dartsim/dart/pull/745)
747  * Changed base class of joint from SingleDofJoint/MultiDofJoint to GenericJoint: [#747](https://github.com/dartsim/dart/pull/747)
748
749* Planning
750
751  * Fixed incorrect linking to flann library: [#761](https://github.com/dartsim/dart/pull/761)
752
753* Parsers
754
755  * Added `sdf` parsing for `fixed` joint and `material` tag of visual shape: [#775](https://github.com/dartsim/dart/pull/775)
756  * Added support of urdfdom_headers 1.0: [#766](https://github.com/dartsim/dart/pull/766)
757
758* GUI
759
760  * Added ImGui for 2D graphical interface: [#781](https://github.com/dartsim/dart/pull/781)
761
762* Examples
763
764  * Added osgAtlasSimbicon and osgTinkertoy: [#781](https://github.com/dartsim/dart/pull/781)
765
766* Misc improvements and bug fixes
767
768  * Added `virtual Shape::getType()` and deprecated `ShapeType Shape::getShapeType()`: [#725](https://github.com/dartsim/dart/pull/725)
769  * Changed building with SIMD optional: [#765](https://github.com/dartsim/dart/pull/765), [#760](https://github.com/dartsim/dart/pull/760)
770  * Fixed minor build and install issues: [#773](https://github.com/dartsim/dart/pull/773), [#772](https://github.com/dartsim/dart/pull/772)
771  * Fixed Doxyfile to show missing member functions in API documentation: [#768](https://github.com/dartsim/dart/pull/768)
772  * Fixed typo: [#756](https://github.com/dartsim/dart/pull/756), [#755](https://github.com/dartsim/dart/pull/755)
773
774### DART 6.0.1 (2016-06-29)
775
776* Collision detection
777
778  * Added support of FCL 0.5 and tinyxml2 4.0: [#749](https://github.com/dartsim/dart/pull/749)
779  * Added warnings for unsupported shape pairs of DARTCollisionDetector: [#722](https://github.com/dartsim/dart/pull/722)
780
781* Dynamics
782
783  * Fixed total mass is not being updated when bodies removed from Skeleton: [#731](https://github.com/dartsim/dart/pull/731)
784
785* Misc improvements and bug fixes
786
787  * Renamed `DEPRECATED` and `FORCEINLINE` to `DART_DEPRECATED` and `DART_FORCEINLINE` to avoid name conflicts: [#742](https://github.com/dartsim/dart/pull/742)
788  * Updated copyright: added CMU to copyright holder, moved individual contributors to CONTRIBUTING.md: [#723](https://github.com/dartsim/dart/pull/723)
789
790### DART 6.0.0 (2016-05-10)
791
792* Common data structures
793
794  * Added `Node`, `Aspect`, `State`, and `Properties`: [#713](https://github.com/dartsim/dart/pull/713), [#712](https://github.com/dartsim/dart/issues/712), [#708](https://github.com/dartsim/dart/pull/708), [#707](https://github.com/dartsim/dart/pull/707), [#659](https://github.com/dartsim/dart/pull/659), [#649](https://github.com/dartsim/dart/pull/649), [#645](https://github.com/dartsim/dart/issues/645), [#607](https://github.com/dartsim/dart/pull/607), [#598](https://github.com/dartsim/dart/pull/598), [#591](https://github.com/dartsim/dart/pull/591), [#531](https://github.com/dartsim/dart/pull/531)
795  * Added mathematical constants and user-defined literals for radian, degree, and pi: [#669](https://github.com/dartsim/dart/pull/669), [#314](https://github.com/dartsim/dart/issues/314)
796  * Added `ShapeFrame` and `ShapeNode`: [#608](https://github.com/dartsim/dart/pull/608)
797  * Added `BoundingBox`: [#547](https://github.com/dartsim/dart/pull/547), [#546](https://github.com/dartsim/dart/issues/546)
798
799* Kinematics
800
801  * Added convenient functions for setting joint limits: [#703](https://github.com/dartsim/dart/pull/703)
802  * Added more description on `InverseKinematics::solve()`: [#624](https://github.com/dartsim/dart/pull/624)
803  * Added API for utilizing analytical inverse kinematics: [#530](https://github.com/dartsim/dart/pull/530), [#463](https://github.com/dartsim/dart/issues/463)
804  * Added color property to `Marker`: [#187](https://github.com/dartsim/dart/issues/187)
805  * Improved `Skeleton` to clone `State` as well: [#691](https://github.com/dartsim/dart/pull/691)
806  * Improved `ReferentialSkeleton` to be able to add and remove `BodyNode`s and `DegreeOfFreedom`s to/from `Group`s freely: [#557](https://github.com/dartsim/dart/pull/557), [#556](https://github.com/dartsim/dart/issues/556), [#548](https://github.com/dartsim/dart/issues/548)
807  * Changed `Marker` into `Node`: [#692](https://github.com/dartsim/dart/pull/692), [#609](https://github.com/dartsim/dart/issues/609)
808  * Renamed `Joint::get/setLocal[~]` to `Joint::get/setRelative[~]`: [#715](https://github.com/dartsim/dart/pull/715), [#714](https://github.com/dartsim/dart/issues/714)
809  * Renamed `PositionLimited` to `PositionLimitEnforced`: [#447](https://github.com/dartsim/dart/issues/447)
810  * Fixed initialization of joint position and velocity: [#691](https://github.com/dartsim/dart/pull/691), [#621](https://github.com/dartsim/dart/pull/621)
811  * Fixed `InverseKinematics` when it's used with `FreeJoint` and `BallJoint`: [#683](https://github.com/dartsim/dart/pull/683)
812  * Fixed ambiguous overload on `MetaSkeleton::getLinearJacobianDeriv`: [#628](https://github.com/dartsim/dart/pull/628), [#626](https://github.com/dartsim/dart/issues/626)
813
814* Dynamics
815
816  * Added `get/setLCPSolver` functions to `ConstraintSolver`: [#633](https://github.com/dartsim/dart/pull/633)
817  * Added `ServoMotorConstraint` as a preliminary implementation for `SERVO` actuator type: [#566](https://github.com/dartsim/dart/pull/566)
818  * Improved `ConstraintSolver` to obey C++11 ownership conventions: [#616](https://github.com/dartsim/dart/pull/616)
819  * Fixed segfualting of `DantzigLCPSolver` when the constraint dimension is zero: [#634](https://github.com/dartsim/dart/pull/634)
820  * Fixed missing implementations in ConstrainedGroup: [#586](https://github.com/dartsim/dart/pull/586)
821  * Fixed incorrect applying of joint constraint impulses: [#317](https://github.com/dartsim/dart/issues/317)
822  * Deprecated `draw()` functions of dynamics classes: [#654](https://github.com/dartsim/dart/pull/654)
823
824* Collision detection
825
826  * Added `CollisionGroup` and refactored `CollisionDetector` to be more versatile: [#711](https://github.com/dartsim/dart/pull/711), [#704](https://github.com/dartsim/dart/pull/704), [#689](https://github.com/dartsim/dart/pull/689), [#631](https://github.com/dartsim/dart/pull/631), [#642](https://github.com/dartsim/dart/issues/642), [#20](https://github.com/dartsim/dart/issues/20)
827  * Improved API for self collision checking options: [#718](https://github.com/dartsim/dart/pull/718), [#702](https://github.com/dartsim/dart/issues/702)
828  * Deprecated `BodyNode::isColliding`; collision sets are moved to `CollisionResult`: [#694](https://github.com/dartsim/dart/pull/694), [#670](https://github.com/dartsim/dart/pull/670), [#668](https://github.com/dartsim/dart/pull/668), [#666](https://github.com/dartsim/dart/issues/666)
829
830* Parsers
831
832  * Added back VSK parser: [#602](https://github.com/dartsim/dart/pull/602), [#561](https://github.com/dartsim/dart/pull/561), [#254](https://github.com/dartsim/dart/issues/254)
833  * Fixed segfault of `SdfParser` when `nullptr` `ResourceRetriever` is passed: [#663](https://github.com/dartsim/dart/pull/663)
834
835* GUI features
836
837  * Merged `renderer` namespace into `gui` namespace: [#652](https://github.com/dartsim/dart/pull/652), [#589](https://github.com/dartsim/dart/issues/589)
838  * Moved `osgDart` under `dart::gui` namespace as `dart::gui::osg`: [#651](https://github.com/dartsim/dart/pull/651)
839  * Fixed GlutWindow::screenshot(): [#623](https://github.com/dartsim/dart/pull/623), [#395](https://github.com/dartsim/dart/issues/395)
840
841* Simulation
842
843  * Fixed `World::clone()` didn't clone the collision detector: [#658](https://github.com/dartsim/dart/pull/658)
844  * Fixed bug of `World` concurrency: [#577](https://github.com/dartsim/dart/pull/577), [#576](https://github.com/dartsim/dart/issues/576)
845
846* Misc improvements and bug fixes
847
848  * Added `make_unique<T>` that was omitted from C++11: [#639](https://github.com/dartsim/dart/pull/639)
849  * Added missing `override` keywords: [#617](https://github.com/dartsim/dart/pull/617), [#535](https://github.com/dartsim/dart/pull/535)
850  * Added gcc warning flag `-Wextra`: [#600](https://github.com/dartsim/dart/pull/600)
851  * Improved memory management of `constraint` namespace: [#584](https://github.com/dartsim/dart/pull/584), [#583](https://github.com/dartsim/dart/issues/583)
852  * Changed the extension of headers from `.h` to `.hpp`: [#709](https://github.com/dartsim/dart/pull/709), [#693](https://github.com/dartsim/dart/pull/693), [#568](https://github.com/dartsim/dart/issues/568)
853  * Changed Doxyfile to gnerate tag file: [#690](https://github.com/dartsim/dart/pull/690)
854  * Changed the convention to use `std::size_t` over `size_t`: [#681](https://github.com/dartsim/dart/pull/681), [#656](https://github.com/dartsim/dart/issues/656)
855  * Changed CMake to configure preprocessors using `#cmakedefine`: [#648](https://github.com/dartsim/dart/pull/648), [#641](https://github.com/dartsim/dart/pull/641)
856  * Updated copyright years: [#679](https://github.com/dartsim/dart/pull/679), [#160](https://github.com/dartsim/dart/issues/160)
857  * Renamed directory name `apps` to `examples`: [#685](https://github.com/dartsim/dart/pull/685)
858  * Fixed warnings of unused variables in release mode: [#646](https://github.com/dartsim/dart/pull/646)
859  * Fixed typo of `getNumPluralAddoName` in utility macro: [#615](https://github.com/dartsim/dart/issues/615)
860  * Fixed linker error by adding namespace-scope definitions for `constexpr static` members: [#603](https://github.com/dartsim/dart/pull/603)
861  * Fixed segfault from nullptr meshes: [#585](https://github.com/dartsim/dart/pull/585)
862  * Fixed typo of tutorial with minor improvements: [#573](https://github.com/dartsim/dart/pull/573)
863  * Fixed `NameManager<T>::removeEntries(~)` called a function that does not exist: [#564](https://github.com/dartsim/dart/pull/564), [#554](https://github.com/dartsim/dart/issues/554)
864  * Fixed missing definitions for various functions: [#558](https://github.com/dartsim/dart/pull/558), [#555](https://github.com/dartsim/dart/issues/555)
865  * Fixed const correctness of `BodyNode::getMomentsOfInertia()`: [#541](https://github.com/dartsim/dart/pull/541), [#540](https://github.com/dartsim/dart/issues/540)
866  * Fixed `ftel` bug in Linux with an workaround: [#533](https://github.com/dartsim/dart/pull/533)
867  * Removed unnecessary `virtual` keyword for overriding functions: [#680](https://github.com/dartsim/dart/pull/680)
868  * Removed deprecated APIs in DART 5: [#678](https://github.com/dartsim/dart/pull/678)
869
870* Build and test issues
871
872  * Added CMake target for code coverage testing, and automatic reporting: [#688](https://github.com/dartsim/dart/pull/688), [#687](https://github.com/dartsim/dart/issues/687), [#638](https://github.com/dartsim/dart/pull/638), [#632](https://github.com/dartsim/dart/pull/632)
873  * Added missing `liburdfdom-dev` dependency in Ubuntu package: [#574](https://github.com/dartsim/dart/pull/574)
874  * Modulized DART libraries: [#706](https://github.com/dartsim/dart/pull/706), [#675](https://github.com/dartsim/dart/pull/675), [#652](https://github.com/dartsim/dart/pull/652), [#477](https://github.com/dartsim/dart/issues/477)
875  * Improved Travis-CI script: [#655](https://github.com/dartsim/dart/pull/655)
876  * Improved CMake script by splitting tutorials, examples, and tests into separate targets: [#644](https://github.com/dartsim/dart/pull/644)
877  * Improved wording of the cmake warning messages for ASSIMP: [#553](https://github.com/dartsim/dart/pull/553)
878  * Changed Travis-CI to treat warning as errors using `-Werror` flags: [#682](https://github.com/dartsim/dart/pull/682), [#677](https://github.com/dartsim/dart/issues/677)
879  * Changed Travis-CI to test DART with bullet collision detector: [#650](https://github.com/dartsim/dart/pull/650), [#376](https://github.com/dartsim/dart/issues/376)
880  * Changed the minimum requirement of Visual Studio version to 2015: [#592](https://github.com/dartsim/dart/issues/592)
881  * Changed CMake to build gui::osg examples when `DART_BUILD_EXAMPLES` is on: [#536](https://github.com/dartsim/dart/pull/536)
882  * Simplfied Travis-CI tests for general pushes: [#700](https://github.com/dartsim/dart/pull/700)
883  * Fixed Eigen memory alignment issue in testCollision.cpp: [#719](https://github.com/dartsim/dart/pull/719)
884  * Fixed `BULLET_INCLUDE_DIRS` in `DARTConfig.cmake`: [#697](https://github.com/dartsim/dart/pull/697)
885  * Fixed linking with Bullet on OS X El Capitan by supporting for Bullet built with double precision: [#660](https://github.com/dartsim/dart/pull/660), [#657](https://github.com/dartsim/dart/issues/657)
886  * Fixed FCL version check logic in the main `CMakeLists.txt`: [#640](https://github.com/dartsim/dart/pull/640)
887  * Fixed `find_package(DART)` on optimizer components: [#637](https://github.com/dartsim/dart/pull/637)
888  * Fixed linking against `${DART_LIBRARIES}` not working in Ubuntu 14.04: [#630](https://github.com/dartsim/dart/pull/630), [#629](https://github.com/dartsim/dart/issues/629)
889  * Fixed Visual Studio 2015 build errors: [#580](https://github.com/dartsim/dart/pull/580)
890  * Removed OpenGL dependency from `dart` library: [#667](https://github.com/dartsim/dart/pull/667)
891  * Removed version check for Bullet: [#636](https://github.com/dartsim/dart/pull/636), [#625](https://github.com/dartsim/dart/issues/625)
892
893## DART 5
894
895### Version 5.1.6 (2017-08-08)
896
8971. Improved camera movement of OpenGL GUI: smooth zooming and translation
898    * [Pull request #843](https://github.com/dartsim/dart/pull/843)
899
9002. Removed debian meta files from the main DART repository
901    * [Pull request #853](https://github.com/dartsim/dart/pull/853)
902
903### Version 5.1.5 (2017-01-20)
904
9051. Fixed Lemke LCP solver for several failing cases
906    * [Pull request #808](https://github.com/dartsim/dart/pull/808)
907
9081. Increase minimum required Ipopt version to 3.11.9
909    * [Pull request #800](https://github.com/dartsim/dart/pull/800)
910
9111. Added support of urdfdom_headers 1.0 for DART 5.1 (backport of [#766](https://github.com/dartsim/dart/pull/766))
912    * [Pull request #799](https://github.com/dartsim/dart/pull/799)
913
914### Version 5.1.4 (2016-10-14)
915
9161. Fixed inconsistent frame rate of GlutWindow
917    * [Pull request #794](https://github.com/dartsim/dart/pull/794)
918
919### Version 5.1.3 (2016-10-07)
920
9211. Updated to support Bullet built with double precision (backport of [#660](https://github.com/dartsim/dart/pull/660))
922    * [Pull request #777](https://github.com/dartsim/dart/pull/777)
923
9241. Modified to use btGImpactMeshShape instead of btConvexTriangleMeshShape for mesh
925    * [Pull request #764](https://github.com/dartsim/dart/pull/764)
926
9271. Updated to support FCL 0.5 and tinyxml 4.0 (backport of [#749](https://github.com/dartsim/dart/pull/749))
928    * [Pull request #759](https://github.com/dartsim/dart/pull/759)
929
930### Version 5.1.2 (2016-04-25)
931
9321. Fixed inverse kinematics (backporting)
933    * [Pull request #684](https://github.com/dartsim/dart/pull/684)
934
9351. Fixed aligned memory allocation with Eigen objects in loading meshes
936    * [Pull request #606](https://github.com/dartsim/dart/pull/606)
937
9381. Fixed incorrect applying joint constraint impulses (backporting)
939    * [Pull request #579](https://github.com/dartsim/dart/pull/579)
940
9411. Fixed some build and packaging issues
942    * [Pull request #559](https://github.com/dartsim/dart/pull/559)
943    * [Pull request #595](https://github.com/dartsim/dart/pull/595)
944    * [Pull request #696](https://github.com/dartsim/dart/pull/696)
945
946### Version 5.1.1 (2015-11-06)
947
9481. Add bullet dependency to package.xml
949    * [Pull request #523](https://github.com/dartsim/dart/pull/523)
950
9511. Improved handling of missing symbols of Assimp package
952    * [Pull request #542](https://github.com/dartsim/dart/pull/542)
953
9541. Improved travis-ci build log for Mac
955    * [Pull request #529](https://github.com/dartsim/dart/pull/529)
956
9571. Fixed warnings in Function.cpp
958    * [Pull request #550](https://github.com/dartsim/dart/pull/550)
959
9601. Fixed build failures on AppVeyor
961    * [Pull request #543](https://github.com/dartsim/dart/pull/543)
962
9631. Fixed const qualification of ResourceRetriever
964    * [Pull request #534](https://github.com/dartsim/dart/pull/534)
965    * [Issue #532](https://github.com/dartsim/dart/issues/532)
966
9671. Fixed aligned memory allocation with Eigen objects
968    * [Pull request #527](https://github.com/dartsim/dart/pull/527)
969
9701. Fixed copy safety for various classes
971    * [Pull request #526](https://github.com/dartsim/dart/pull/526)
972    * [Pull request #539](https://github.com/dartsim/dart/pull/539)
973    * [Issue #524](https://github.com/dartsim/dart/issues/524)
974
975### Version 5.1.0 (2015-10-15)
976
9771. Fixed incorrect rotational motion of BallJoint and FreeJoint
978    * [Pull request #518](https://github.com/dartsim/dart/pull/518)
979
9801. Removed old documents: dart-tutorial, programmingGuide
981    * [Pull request #515](https://github.com/dartsim/dart/pull/515)
982
9831. Fixed aligned memory allocation with Eigen objects
984    * [Pull request #513](https://github.com/dartsim/dart/pull/513)
985
9861. Fixed segfault in Linkage::Criteria
987    * [Pull request #491](https://github.com/dartsim/dart/pull/491)
988    * [Issue #489](https://github.com/dartsim/dart/issues/489)
989
9901. Improved sdf/urdf parser
991    * [Pull request #497](https://github.com/dartsim/dart/pull/497)
992    * [Pull request #485](https://github.com/dartsim/dart/pull/485)
993
9941. Fixed CMake warnings
995    * [Pull request #483](https://github.com/dartsim/dart/pull/483)
996
9971. Fixed build issues on Windows
998    * [Pull request #516](https://github.com/dartsim/dart/pull/516)
999    * [Pull request #509](https://github.com/dartsim/dart/pull/509)
1000    * [Pull request #486](https://github.com/dartsim/dart/pull/486)
1001    * [Pull request #482](https://github.com/dartsim/dart/pull/482)
1002    * [Issue #487](https://github.com/dartsim/dart/issues/487)
1003
10041. Fixed IpoptSolver bugs
1005    * [Pull request #481](https://github.com/dartsim/dart/pull/481)
1006
10071. Added Frame::getTransform(withRespecTo, inCoordinatesOf)
1008    * [Pull request #475](https://github.com/dartsim/dart/pull/475)
1009    * [Issue #471](https://github.com/dartsim/dart/issues/471)
1010
10111. Improved API documentation -- set the SHOW_USED_FILES tag to NO
1012    * [Pull request #474](https://github.com/dartsim/dart/pull/474)
1013
10141. Added convenience setters for generalized coordinates of FreeJoint
1015    * [Pull request #470](https://github.com/dartsim/dart/pull/470)
1016    * [Pull request #507](https://github.com/dartsim/dart/pull/507)
1017
10181. Fixed compilation warnings
1019    * [Pull request #480](https://github.com/dartsim/dart/pull/480)
1020    * [Pull request #469](https://github.com/dartsim/dart/pull/469)
1021    * [Issue #418](https://github.com/dartsim/dart/issues/418)
1022
10231. Added a mutex to Skeleton
1024    * [Pull request #466](https://github.com/dartsim/dart/pull/466)
1025
10261. Added generic URIs support
1027    * [Pull request #464](https://github.com/dartsim/dart/pull/464)
1028    * [Pull request #517](https://github.com/dartsim/dart/pull/517)
1029
10301. Added End Effector, Inverse Kinematics, and osgDart
1031    * [Pull request #461](https://github.com/dartsim/dart/pull/461)
1032    * [Pull request #495](https://github.com/dartsim/dart/pull/495)
1033    * [Pull request #502](https://github.com/dartsim/dart/pull/502)
1034    * [Pull request #506](https://github.com/dartsim/dart/pull/506)
1035    * [Pull request #514](https://github.com/dartsim/dart/pull/514)
1036    * [Issue #381](https://github.com/dartsim/dart/issues/381)
1037    * [Issue #454](https://github.com/dartsim/dart/issues/454)
1038    * [Issue #478](https://github.com/dartsim/dart/issues/478)
1039
10401. Removed outdated packaging scripts
1041    * [Pull request #456](https://github.com/dartsim/dart/pull/456)
1042
10431. Added initial position and initial velocity properties
1044    * [Pull request #449](https://github.com/dartsim/dart/pull/449)
1045
10461. Added a package.xml file for REP-136 support
1047    * [Pull request #446](https://github.com/dartsim/dart/pull/446)
1048
10491. Improved Linkage and Chain Criteria
1050    * [Pull request #443](https://github.com/dartsim/dart/pull/443)
1051    * [Issue #437](https://github.com/dartsim/dart/issues/437)
1052
10531. Added Joint::isCyclic to mark SO(2) topology
1054    * [Pull request #441](https://github.com/dartsim/dart/pull/441)
1055
10561. Fixed SEGFAULTs in DartLoader
1057    * [Pull request #439](https://github.com/dartsim/dart/pull/439)
1058
10591. Added the SYSTEM flag to include_directories
1060    * [Pull request #435](https://github.com/dartsim/dart/pull/435)
1061
10621. Improved Joint warning
1063    * [Pull request #430](https://github.com/dartsim/dart/pull/430)
1064
10651. Added tutorials (http://dart.readthedocs.org/)
1066    * [Pull request #504](https://github.com/dartsim/dart/pull/504)
1067    * [Pull request #484](https://github.com/dartsim/dart/pull/484)
1068    * [Pull request #423](https://github.com/dartsim/dart/pull/423)
1069    * [Pull request #511](https://github.com/dartsim/dart/pull/511)
1070
1071### Version 5.0.2 (2015-09-28)
1072
10731. Fixed bug in Jacobian update notifications
1074    * [Pull request #500](https://github.com/dartsim/dart/pull/500)
1075    * [Issue #499](https://github.com/dartsim/dart/issues/499)
1076
1077### Version 5.0.1 (2015-07-28)
1078
10791. Improved app indexing for bipedStand and atlasSimbicon
1080    * [Pull request #417](https://github.com/dartsim/dart/pull/417)
1081
10821. Added clipping command when it exceeds the limits
1083    * [Pull request #419](https://github.com/dartsim/dart/pull/419)
1084
10851. Improved CollisionNode's index validity check
1086    * [Pull request #421](https://github.com/dartsim/dart/pull/421)
1087
10881. Standardized warning messages for Joints
1089    * [Pull request #425](https://github.com/dartsim/dart/pull/425)
1090    * [Pull request #429](https://github.com/dartsim/dart/pull/429)
1091
10921. Fixed bug in SDF parser -- correct child for a joint
1093    * [Pull request #431](https://github.com/dartsim/dart/pull/431)
1094
10951. Fixed SDF parsing for single link model without joint
1096    * [Pull request #444](https://github.com/dartsim/dart/pull/444)
1097
10981. Added missing virtual destructors to Properties in Entity and [Soft]BodyNode
1099    * [Pull request #458](https://github.com/dartsim/dart/pull/458)
1100
11011. Limited maximum required version of Assimp less than 3.0~dfsg-4
1102    * [Pull request #459](https://github.com/dartsim/dart/pull/459)
1103
11041. Fixed SEGFAULTs in DartLoader
1105    * [Pull request #472](https://github.com/dartsim/dart/pull/472)
1106
1107### Version 5.0.0 (2015-06-15)
1108
11091. Fixed aligned memory allocation with Eigen objects
1110    * [Pull request #414](https://github.com/dartsim/dart/pull/414)
1111
11121. Added some missing API for DegreeOfFreedom
1113    * [Pull request #408](https://github.com/dartsim/dart/pull/408)
1114
11151. Replaced logMaps with Eigen::AngleAxisd
1116    * [Pull request #407](https://github.com/dartsim/dart/pull/407)
1117
11181. Improved FCL collision detector
1119    * [Pull request #405](https://github.com/dartsim/dart/pull/405)
1120
11211. Removed deprecated API and suppressed warnings
1122    * [Pull request #404](https://github.com/dartsim/dart/pull/404)
1123
11241. Added use of OpenGL's multisample anti-aliasing
1125    * [Pull request #402](https://github.com/dartsim/dart/pull/402)
1126
11271. Added computation of differences of generalized coordinates
1128    * [Pull request #389](https://github.com/dartsim/dart/pull/389)
1129    * [Issue #290](https://github.com/dartsim/dart/issues/290)
1130
11311. Added deprecated and force-linline definitions for clang
1132    * [Pull request #384](https://github.com/dartsim/dart/pull/384)
1133    * [Issue #379](https://github.com/dartsim/dart/issues/379)
1134
11351. Eradicated memory leaks and maked classes copy-safe and clonable
1136    * [Pull request #369](https://github.com/dartsim/dart/pull/369)
1137    * [Pull request #390](https://github.com/dartsim/dart/pull/390)
1138    * [Pull request #391](https://github.com/dartsim/dart/pull/391)
1139    * [Pull request #392](https://github.com/dartsim/dart/pull/392)
1140    * [Pull request #397](https://github.com/dartsim/dart/pull/397)
1141    * [Pull request #415](https://github.com/dartsim/dart/pull/415)
1142    * [Issue #280](https://github.com/dartsim/dart/issues/280)
1143    * [Issue #339](https://github.com/dartsim/dart/issues/339)
1144    * [Issue #370](https://github.com/dartsim/dart/issues/370)
1145    * [Issue #383](https://github.com/dartsim/dart/issues/383)
1146
11471. Improved PlaneShape constructors
1148    * [Pull request #366](https://github.com/dartsim/dart/pull/366)
1149    * [Pull request #377](https://github.com/dartsim/dart/pull/377)
1150    * [Issue #373](https://github.com/dartsim/dart/issues/373)
1151
11521. Added appveyor options for parallel build and detailed log
1153    * [Pull request #365](https://github.com/dartsim/dart/pull/365)
1154
11551. Improved robustness and package handling for URDF parsing
1156    * [Pull request #364](https://github.com/dartsim/dart/pull/364)
1157
11581. Fixed bug in BodyNode::_updateBodyJacobianSpatialDeriv()
1159    * [Pull request #363](https://github.com/dartsim/dart/pull/363)
1160
11611. Added alpha channel and Color functions
1162    * [Pull request #359](https://github.com/dartsim/dart/pull/359)
1163    * [Issue #358](https://github.com/dartsim/dart/issues/358)
1164
11651. Added Jacobian getters to Skeleton
1166    * [Pull request #357](https://github.com/dartsim/dart/pull/357)
1167
11681. Added ArrowShape for visualizing arrows
1169    * [Pull request #356](https://github.com/dartsim/dart/pull/356)
1170
11711. Fixed matrix dimension bug in operationalSpaceControl app
1172    * [Pull request #354](https://github.com/dartsim/dart/pull/354)
1173
11741. Added build type definitions
1175    * [Pull request #353](https://github.com/dartsim/dart/pull/353)
1176
11771. Added Signal class
1178    * [Pull request #350](https://github.com/dartsim/dart/pull/350)
1179
11801. Added LineSegmentShape for visualizing line segments
1181    * [Pull request #349](https://github.com/dartsim/dart/pull/349)
1182    * [Issue #346](https://github.com/dartsim/dart/issues/346)
1183
11841. Fixed segfault in SoftSdfParser
1185    * [Pull request #345](https://github.com/dartsim/dart/pull/345)
1186
11871. Added subscriptions for destructions and notifications
1188    * [Pull request #343](https://github.com/dartsim/dart/pull/343)
1189
11901. Added NloptSolver::[get/set]NumMaxEvaluations()
1191    * [Pull request #342](https://github.com/dartsim/dart/pull/342)
1192
11931. Added support of Eigen::VectorXd in parser
1194    * [Pull request #341](https://github.com/dartsim/dart/pull/341)
1195
11961. Added Skeleton::getNumJoints()
1197    * [Pull request #335](https://github.com/dartsim/dart/pull/335)
1198
11991. Fixed bug in DARTCollide for sphere-sphere collision
1200    * [Pull request #332](https://github.com/dartsim/dart/pull/332)
1201
12021. Fixed naming issues for Skeletons in World
1203    * [Pull request #331](https://github.com/dartsim/dart/pull/331)
1204    * [Issue #330](https://github.com/dartsim/dart/issues/330)
1205
12061. Added PlanarJoint support for URDF loader
1207    * [Pull request #326](https://github.com/dartsim/dart/pull/326)
1208
12091. Fixed rotation of the inertia reference frame for URDF loader
1210    * [Pull request #326](https://github.com/dartsim/dart/pull/326)
1211    * [Issue #47](https://github.com/dartsim/dart/issues/47)
1212
12131. Fixed bug in loading WorldFile
1214    * [Pull request #325](https://github.com/dartsim/dart/pull/325)
1215
12161. Added plotting of 2D trajectories
1217    * [Pull request #324](https://github.com/dartsim/dart/pull/324)
1218
12191. Removed unsupported axis orders of EulerJoint
1220    * [Pull request #323](https://github.com/dartsim/dart/pull/323)
1221    * [Issue #321](https://github.com/dartsim/dart/issues/321)
1222
12231. Added convenience functions to help with setting joint positions
1224    * [Pull request #322](https://github.com/dartsim/dart/pull/322)
1225    * [Pull request #338](https://github.com/dartsim/dart/pull/338)
1226
12271. Added Frame class and auto-updating for forward kinematics
1228    * [Pull request #319](https://github.com/dartsim/dart/pull/319)
1229    * [Pull request #344](https://github.com/dartsim/dart/pull/344)
1230    * [Pull request #367](https://github.com/dartsim/dart/pull/367)
1231    * [Pull request #380](https://github.com/dartsim/dart/pull/380)
1232    * [Issue #289](https://github.com/dartsim/dart/issues/289)
1233    * [Issue #294](https://github.com/dartsim/dart/issues/294)
1234    * [Issue #305](https://github.com/dartsim/dart/issues/305)
1235
12361. Added Travis-CI build test for OSX
1237    * [Pull request #313](https://github.com/dartsim/dart/pull/313)
1238    * [Issue #258](https://github.com/dartsim/dart/issues/258)
1239
12401. Added specification of minimum dependency version
1241    * [Pull request #306](https://github.com/dartsim/dart/pull/306)
1242
1243## DART 4
1244
1245### Version 4.3.7 (2018-01-05)
1246
12471. Updated DART 4.3 to be compatible with urdf 1.0/tinyxml2 6/flann 1.9.1
1248    * [Pull request #955](https://github.com/dartsim/dart/pull/955)
1249
1250### Version 4.3.6 (2016-04-16)
1251
12521. Fixed duplicate entries in Skeleton::mBodyNodes causing segfault in destructor
1253    * [Issue #671](https://github.com/dartsim/dart/issues/671)
1254    * [Pull request #672](https://github.com/dartsim/dart/pull/672)
1255
1256### Version 4.3.5 (2016-01-09)
1257
12581. Fixed incorrect applying of joint constraint impulses (backported from 6.0.0)
1259    * [Pull request #578](https://github.com/dartsim/dart/pull/578)
1260
1261### Version 4.3.4 (2015-01-24)
1262
12631. Fixed build issue with gtest on Mac
1264    * [Pull request #315](https://github.com/dartsim/dart/pull/315)
1265
1266### Version 4.3.3 (2015-01-23)
1267
12681. Fixed joint Coulomb friction
1269    * [Pull request #311](https://github.com/dartsim/dart/pull/311)
1270
1271### Version 4.3.2 (2015-01-22)
1272
12731. Fixed installation -- missing headers (utils/urdf, utils/sdf)
1274
1275### Version 4.3.1 (2015-01-21)
1276
12771. Fixed API incompatibility introduced by dart-4.3.0
1278    * [Issue #303](https://github.com/dartsim/dart/issues/303)
1279    * [Pull request #309](https://github.com/dartsim/dart/pull/309)
1280
1281### Version 4.3.0 (2015-01-19)
1282
12831. Added name manager for efficient name look-up and unique naming
1284    * [Pull request #277](https://github.com/dartsim/dart/pull/277)
12851. Added all-inclusive header and namespace headers
1286    * [Pull request #278](https://github.com/dartsim/dart/pull/278)
12871. Added DegreeOfFreedom class for getting/setting data of individual generalized coordinates
1288    * [Pull request #288](https://github.com/dartsim/dart/pull/288)
12891. Added hybrid dynamics
1290    * [Pull request #298](https://github.com/dartsim/dart/pull/298)
12911. Added joint actuator types
1292    * [Pull request #298](https://github.com/dartsim/dart/pull/298)
12931. Added Coulomb joint friction
1294    * [Pull request #301](https://github.com/dartsim/dart/pull/301)
12951. Migrated to C++11
1296    * [Pull request #268](https://github.com/dartsim/dart/pull/268)
1297    * [Pull request #299](https://github.com/dartsim/dart/pull/299)
12981. Improved readability of CMake output messages
1299    * [Pull request #272](https://github.com/dartsim/dart/pull/272)
13001. Fixed const-correctneess of member functions
1301    * [Pull request #277](https://github.com/dartsim/dart/pull/277)
13021. Added handling use of 'package:/' in URDF
1303    * [Pull request #273](https://github.com/dartsim/dart/pull/273)
1304    * [Issue #271](https://github.com/dartsim/dart/issues/271)
1305
1306### Version 4.2.1 (2015-01-07)
1307
13081. Fixed version numbering of shared libraries in debian packages
1309    * [Pull request #286](https://github.com/dartsim/dart/pull/286)
13101. Fixed Jacobian and its derivatives of FreeJoint/BallJoint
1311    * [Pull request #284](https://github.com/dartsim/dart/pull/284)
1312
1313### Version 4.2.0 (2014-11-22)
1314
13151. Added reset functions for Simulation and Recording class
1316    * [Pull request #231](https://github.com/dartsim/dart/pull/231)
13171. Added operational space control example
1318    * [Pull request #257](https://github.com/dartsim/dart/pull/257)
13191. Fixed misuse of Bullet collision shapes
1320    * [Pull request #228](https://github.com/dartsim/dart/pull/228)
13211. Fixed adjacent body pair check for Bullet collision detector
1322    * [Pull request #246](https://github.com/dartsim/dart/pull/246)
13231. Fixed incorrect computation of constraint impulse for BallJointConstraint and WeldJointContraint
1324    * [Pull request #247](https://github.com/dartsim/dart/pull/247)
13251. Improved generation of soft box shape for soft body
1326    * [Commit ec31f44](https://github.com/dartsim/dart/commit/ec31f44)
1327
1328### Version 4.1.1 (2014-07-17)
1329
13301. Added ABI check script
1331    * [Pull request #226](https://github.com/dartsim/dart/pull/226)
1332    * [Pull request #227](https://github.com/dartsim/dart/pull/227)
13331. Fixed build issues on Linux
1334    * [Pull request #214](https://github.com/dartsim/dart/pull/214)
1335    * [Pull request #219](https://github.com/dartsim/dart/pull/219)
13361. Fixed build issues on Windows
1337    * [Pull request #215](https://github.com/dartsim/dart/pull/215)
1338    * [Pull request #217](https://github.com/dartsim/dart/pull/217)
13391. Fixed unintended warning messages
1340    * [Pull request #220](https://github.com/dartsim/dart/pull/220)
1341
1342### Version 4.1.0 (2014-07-02)
1343
13441. Fixed bug in switching collision detectors
1345    * [Issue #127](https://github.com/dartsim/dart/issues/127)
1346    * [Pull request #195](https://github.com/dartsim/dart/pull/195)
13471. Fixed kinematics and dynamics when a skeleton has multiple parent-less bodies
1348    * [Pull request #196](https://github.com/dartsim/dart/pull/196)
13491. Fixed issue on installing DART 4 alongside DART 3 on Linux
1350    * [Issue #122](https://github.com/dartsim/dart/issues/122)
1351    * [Pull request #203](https://github.com/dartsim/dart/pull/203)
13521. Fixed warnings on gcc
1353    * [Pull request #206](https://github.com/dartsim/dart/pull/206)
13541. Renamed getDof() to getNumDofs()
1355    * [Pull request #209](https://github.com/dartsim/dart/pull/209)
13561. Added cylinder shape for soft body
1357    * [Pull request #210](https://github.com/dartsim/dart/pull/210)
1358
1359### Version 4.0.0 (2014-06-02)
1360
13611. Added implicit joint spring force and damping force
13621. Added planar joint
13631. Added soft body dynamics
13641. Added computation of velocity and acceleration of COM
13651. Added bullet collision detector
1366  * [Pull request #156](https://github.com/dartsim/dart/pull/156)
13671. Improved performance of forward dynamics algorithm
1368  * [Pull request #188](https://github.com/dartsim/dart/pull/188)
13691. Improved dynamics API for Skeleton and Joint
1370  * [Pull request #161](https://github.com/dartsim/dart/pull/161)
1371  * [Pull request #192](https://github.com/dartsim/dart/pull/192)
1372  * [Pull request #193](https://github.com/dartsim/dart/pull/193)
13731. Improved constraint dynamics solver
1374  * [Pull request #184](https://github.com/dartsim/dart/pull/184)
13751. Improved calculation of equations of motion using Featherstone algorithm
1376  * [Issue #85](https://github.com/dartsim/dart/issues/87)
13771. Improved optimizer interface and added nlopt solver
1378  * [Pull request #152](https://github.com/dartsim/dart/pull/152)
13791. Fixed self collision bug
1380  * [Issue #125](https://github.com/dartsim/dart/issues/125)
13811. Fixed incorrect integration of BallJoint and FreeJoint
1382  * [Issue #122](https://github.com/dartsim/dart/issues/122)
1383  * [Pull request #168](https://github.com/dartsim/dart/pull/168)
1384
1385## DART 3
1386
1387### Version 3.0 (2013-11-04)
1388
13891. Removed Transformation classes. Their functionality is now included in joint classes.
13901. Added Featherstone algorithm. Can currently only be used without collision handling. The old algortihm is still present and used for that case.
13911. Removed kinematics namespace. Functionality is moved to dynamics classes.
13921. Added dart root namespace
13931. A lot of function and variable renames
13941. Added constraint namespace
13951. Added "common" namespace
1396
1397## DART 2
1398
1399### Version 2.6 (2013-09-07)
1400
14011. Clean-up of build system:
1402  * Renamed DART_INCLUDEDIR to the standard-compliant DART_INCLUDE_DIRS in CMake files. Users need to adapt their CMake files for this change.
1403  * Users no longer need to call find_package(DARTExt) in the CMake files. A call to find_package(DART) also finds its dependencies now.
1404  * Allow user to overwrite installation prefix
1405  * Add possibility to include DART header files as '#include \<dart/dynamics/Skeleton.h\>' in addition to '#include \<dynamics/Skeleton.h\>'
1406  * Allow out-of-source builds
14071. URDF loader:
1408  * Major clean-up
1409  * Consider mesh scaling factor
1410
1411### Version 2.5 (2013-07-16)
1412
14131. Replaced robotics::World with simulation::World
14141. Removed robotics::Robot
14151. Added simulation::SimWindow
14161. Some speed-up of Eigen calculations
14171. Added abstract trajectory interface
14181. ConstraintDynamics handles contact, joint limit and other constraint forces simultaneously
14191. Improved Lemke algorithm for solving LCP
14201. Renamed skeletonDynamics::getQDotVector() to getPoseVelocity()
14211. Added abstract CollisionDetector interface allowing for multiple different collision detector implementations.
14221. Created math namespace
14231. Added System class as base class to Skeleton and Joint
14241. URDF loader: Removed ability to load nonstandard URDF files with an object tag
14251. Added support for multiple shapes per BodyNode
14261. Made urdfdom a dependency instead of including it in the DART source
14271. Added function to CollisionDetector to let user check a specific pair of BodyNodes for collision
1428
1429### Version 2.4 (2013-03-05)
1430
14311. Mass and inertia are no longer stored in Shape but in BodyNode.
14321. Different shapes for collision and visualization (not just different meshes)
14331. Shapes are no longer centered at the COM but can be transformed independently relative to the link frame.
14341. Improved URDF support
1435  * Support for non-mesh shapes
1436  * Does not create dummy root nodes anymore
1437  * Support for continuous joints
1438  * Support for arbitrary joint axes for revolute joints (but not for prismatic joints) instead of only axis-aligned joint axes
1439  * Support for relative mesh paths even if the robot and world URDF files are in different directories
1440  * All supported joint types can be root joints
14411. Clean-up of the Robot class
14421. Removed Object class
14431. More robust build and installation process on Linux
1444