-
Notifications
You must be signed in to change notification settings - Fork 42
/
CHANGES.txt
432 lines (354 loc) · 14.4 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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
Version 2.1.0.21
2020-03-06
- [#329] New API Objects Support
- 8 New Objects API Classes
- 12 New Common API Classes
- Observable DefinedEffects
- More tests to cover new or existent objects
- Update documentation and coverage
- Rename module cybox/objects/{win_user_object.py → win_user_account_object.py} for consistency
- Some objects have been revised for TypedFields and/or new properties are now available
Version 2.1.0.20
2019-12-03
- [#326] Fix parsing if algorithm, compression_mechanism, or encryption_mechanism are not present in Factories
- Factory classes now have a register_extension method decorator to extend API classes for the pack/unpack functionality
- The factory will fallback to the Base class when no mapping is found
Version 2.1.0.19
2019-11-27
- [#324] Implement the Packaging attribute from Artifacts as a TypedField
- [#322] Fix a wrapping problem with one of the helper methods for ipv4 observables
Version 2.1.0.18
2019-09-05
- [#314] Add missing methods to ListFieldMixin.
- [#320] Fix handling of empty Hash values.
Version 2.1.0.17
2018-03-02
- [#313] Fix VocabString.is_plain()
- Add Location object and Pools. Update Event to use location, and Observable
to use Pools.
Version 2.1.0.16
2017-11-29
- [#309] Re-packaged 2.1.0.15 with newer setuptools to fix broken wheel.
Version 2.1.0.15
2017-11-28
- [#303] Fully support PDFFile object.
- [#301] Add URI property to Artifact object.
- [#300] Support Object 'description' field.
- [#299] Add UnixUserAccount object.
- [#297] Fix error when PropertyTypes have 'delimiter' but no value.
- [#296] Allow setting 'condition' on Artifact object's RawArtifact propety.
- [#294] Support adding SSDEEP hashes.
- [#287] Don't include properties when adding Related Objects with inline=False.
- [#280] Handle 'event' property of Observables correctly.
Version 2.1.0.14
2017-05-02
- Add support for Python 3.6.
- Update to latest version of mixbox.
- [#288] Add __hash__ to classes.
Version 2.1.0.13
2016-08-09
- Add support for Python 3.3+
- Use 'mixbox' library for features shared with python-maec and python-stix.
- [#202] Use correct namespace when outputting Link object to XML.
- [#248] Fix GenerateDS link in README.
- [#250] Add device_details to Product object.
- [#251] Don't use print statements in tests.
- [#254] Fix error when accessing parent Object.
- [#260] Add mixbox support to CIQ Address extension.
- [#269] Fix typo in WinVolume.drive_type field.
Version 2.1.0.12
2015-08-04
- [#267] Fix bug where setting type_ attributes on some CybOX entities
caused AttributeError to be raised during serialization.
Version 2.1.0.11
2015-04-27
- Align VocabString implementation with python-stix. Support validation of
Vocab Strings.
- [#213] Fix bug in Win Event object.
- [#236] Fix TypeError with copy.deepcopy().
- [#239] Validate objects passed into Observable constructor.
- [#242][#244][#246] Fix issues associated with new VocabString implementation.
Version 2.1.0.10
2015-03-25
- [#217] Add CustomObject.
- [#227] Add missing parameters to WhoisRegistrantInfoType binding constructor.
- [#233] Add support for Pattern_Fidelity field on Observable.
Version 2.1.0.9
2014-12-22
- Standardize encoding logic, use Unicode everywhere
- Consolidate common code from bindings.
- Add automated code quality checking with Landscape.io.
- [#160] Fix Stream type on WinFile object.
- [#183] Add round-trip tests for Objects wrapped in Observables.
- [#186] Add tests for CustomProperties.
- [#187] Explicit support for Python 2.6 on RHEL 6.
- [#206] Set condition on hash type when exact=True.
- Include source code in documentation.
- Documentation cleanup.
- Various typo, style and bug fixes.
Version 2.1.0.8
2014-10-15
- Performance enhancements in to_xml() serialization (ref: python-stix #163)
- [#144] Make argument functions more consistent.
- [#195] Allow iterating over Observables as if it were a list.
- [#211] Check that a particular hash exists before getting its value.
- Various bug fixes.
Version 2.1.0.7
2014-09-02
- Add support for Archive File, ARP Cache, Device, DNS Cache, Image File, Linux
Package, Network Route, Network Route Entry, Network Subnet, Product,
Semaphore, SMS Message, Win Computer Account Win Critical Section, Win
Driver, Win Filemapping, Win Hook, Win Kernel, Win Memory Page Region, Win
Network Route Entry, Win Prefetch, Win Semaphore, Win System Restore, and Win
Waitable Timer objects. (@slsnow)
- Add method for normalizing Windows file paths and registry key names.
(@ikiril01)
- Updates to API, File, System objects.
- Add documentation for AS (Autonomous System), Code, Link, and PDF File
objects.
- Show most recent version of python-cybox for each CybOX language version in
the documentation.
- [#189] Update version of ActionName and ToolType vocabularies.
- [#194] Fix errors caused by Unicode double-encoding
- Various minor typo and bug fixes.
Version 2.1.0.6
2014-07-23
- [#173] Add AS (autonomous system) object.
- [#179] Add support for Observable Keywords.
- [#181] Network Packet Object from_xml error.
- [#184] Fix NetworkConnectionObject SourceTCPState
and DestinationTCP State
Version 2.1.0.5
2014-07-07
- Add Code object.
- [#163] Allow uniform access to property values as a list.
- [#168] Add from_json() function.
- [#174] Improve how VocabStrings handle XSI types.
- [#175] Typo in cybox.common.Property class.
- [#177] Artifact Object was not exporting or importing 'type' field.
- Fix to Windows Driver Object namespace.
- Updated documentation on http://cybox.readthedocs.org
Version 2.1.0.4
2014-04-22
- Improve handling of id and idref fields on Observables
- [#162] Add support for non-default @delimiter values.
Version 2.1.0.3
2014-04-15
- Add PDF File Object.
- Expand ExtractedFeatures type.
- Expand Windows File Object.
- [#158] Fix Unicode bug with xsi:types
Version 2.1.0.2
2014-03-24
- Improve documentation and tests. Add more examples
- Convert ExtractedString to use TypedField implementation.
- Add Link object.
- Add properties to File object.
- Fix parsing of Float and Double property values.
- Fix bugs in DNS Record object.
Version 2.1.0.1
2014-02-20
- Release draft version of documentation at http://cybox.readthedocs.org/
- Add automatic detection of SHA224, SHA384, and SHA512 hashes.
- Fix DateWithPrecision and DateTimeWithPrecision types and add tests.
- Add tests for Hostname and DomainName objects.
- Update test for SocketAddress object.
- Remove cybox.utils.nsparser.NamespaceParser.
- Add doctests to example content.
- Various typo corrections and bugfixes.
Version 2.1.0.0
2014-01-24
- Updated objects and other types to support Version 2.1 of the CybOX language.
- Add DomainName and Hostname objects.
- Added bindings for new AS, ArchiveFile, ARPCache, DomainName, Hostname, ImageFile, SMSMessage, WinHook objects
- Remove parseLiteral and exportLiteral functions from bindings.
- Remove member_data_items dictionaries from bindings.
- Standardize constructors of BaseObjectPropertyType and subclasses.
- Various typo corrections and bug fixes.
- This is just a summary of changes. For a full list of changes to support
CybOX 2.1, see:
https://github.com/CybOXProject/python-cybox/issues?milestone=1
CybOX 2.0 branch
----------------
Version 2.0.1.4
2014-01-23
- Add support for Encryption packaging on Artifact objects.
- [#70] Improve and consolidate parsing of numeric types.
Version 2.0.1.3
2013-12-24
- Fix bug the prevented removing objects from an EntityList.
- Explicitly set some 'datatype' attributes on output.
- Format Action timestamps correctly on XML output.
- Handle imports for duplicate "Time" classes.
Version 2.0.1.2
2013-11-06
- Use tox for cross-version automated testing.
- Convert Action and related types to use TypedField implementation.
- Convert DateRange type to use TypedField implementation.
- Add Frequency type.
- Register concrete implementations of Account-related classes in the
parent bindings.
- Add support for Events.
- Allow recursive definition of Events in bindings.
- Improve output of date strings.
- Improve JSON handling of empty lists (for input and output).
- Improve namespace handling for XML output.
- Fix errors where incorrect types were being used in the bindings.
- [#16] Use correct binding class.
- Fix typos.
Version 2.0.1.1
2013-10-07
- Minor bugfixes and documentation updates.
Version 2.0.1.0
2013-09-20
- Updated to support Version 2.0.1 of the CybOX language.
- Add support for language "update" versions (in addition to "major" and
"minor" versions).
- Update how delimiter-separated lists within Properties are handled.
- Correct errors in auto-generated bindings.
Version 2.0.0.1
2013-09-13
- Add API object.
- Improve Python 2.6 support
- Standardize Object test functions.
- Use Version 4 UUIDs rather than Version 1 UUIDs when creating random IDs.
- Include ID namespace by default on export.
- Allow new namespaces to be added to metadata.
- Various typo/bug fixes.
Version 2.0.0
2013-08-27
- First non-beta release!
- Convert MeasureSource, DigitalSignature, Contributor, Personnel types to use
TypedField implementation.
- Convert all existing objects to use TypedField implementation.
- Add Account, UserAccount, GUIObject, GUIWindow, GUIDialogBox, WinEventLog,
Volume, WinVolume, Disk, DiskPartition objects.
- Add Base64Binary and Name object property types.
- Add DataSegment type.
- Add equality checks using TypedFields.
- Clean up Entity and EntityList classes.
- Allow TypedFields to have multiplicity >1.
- Simplify implementation of BaseObjectPropertyType subclasses.
- Add default to_obj, to_dict, from_obj, and from_dict functions on the base
Entity class.
- Allow custom callbacks to be run after setting a TypedField on a type.
- Allow specifying which TypedFields should be used in comparisons.
- Restructure imports to collapse the cybox.common and cybox.core packages.
- Expand examples.
- [#46] [#48] [#49] [#51] Typo/bug fixes.
- Various other typo corrections, bug fixes, and style fixes.
Version 2.0.0b6
2013-07-29
- Add DomainSpecificObjectProperties.
- Set huge_tree=True in ETCompatXMLParser.
- More tweaks to XML output options.
- Typo fixes
Version 2.0.0b5
2013-07-12
- Add functionality to import an implementation class from an outside library.
- Improve handling of comma-delimited lists in properties.
- More namespace handling improvements.
- Simplify EntityLists.
- Tweaks to XML output.
- Various typo fixes.
Version 2.0.0b4
2013-06-25
- Add support for CustomProperties in ObjectProperties
- Update Observable to properly handle ID and IDREFs.
- Improve namespace handling (again).
- Improve unicode support.
- Add X509Certificate object.
Version 2.0.0b3
2013-06-17
- Update how RelatedObjects are created and handle.
- Update Observable type.
- Update Action and related types.
- Add PlatformSpecification, ExtractedFeatures type.
- Add Packer and PackerList types.
- Add VersionInfoResource to PEResourceList type.
- Add Record_Data to DNSRecord object.
- Update File, HTTPSession, Pipe, Port, WinDriver objects.
- Convert ExtractStringList to an EntityList.
- Allow Properties to specify when to output their datatype.
- Properly escape XML-reserved characters.
- Convert several "is None" checks to empty-list checks.
- Standardize how superclass functions are called.
- Handle Unicode strings correctly, always output UTF-8.
- Make each class responsible for its own namespace.
- Allow adding arbitrary namespaces when outputting XML.
- Extract namespaces from object metadata dictionary.
- Add and expand automated tests.
- Various bugfixes and typo corrections.
Version 2.0.0b2
2013-05-16
- Add HTTPSession, WhoisEntry objects.
- Add Double, Float, Long, NonNegativeInteger, Date, Time properties.
- Update Personnel, Contributor, DateRange, MeasureSource, AssociatedObject
types for CybOX 2.0.
- Update WinFile, WinExecutableFile, WinDriver, WinEvent, WinHandle, WinMutex,
WinKernelHook, WinProcess, WinRegistryKey, WinService, Library, Pipe,
WinPipe, NetworkSocket, System, WinSystem, and WinNetworkShare objects for
CybOX 2.0.
- Add ActionReference type.
- Update ToolInformation, ToolInformationList, ByteRun(s) types.
- Convert DNSResourceRecords, StreamList, EnvironmentVariableList types
to EntityList.
- Allow subclass instantiation in to_obj/from_obj functions.
- Fix datatype on Property classes
- Add initial TypedField implementation to reduce repetitive code.
- Convert File object to use TypedFields
- Add support for caches when reading a file that contains idrefs.
- Don't print anything to STDOUT.
- Add copyright statement to all files.
- Improve namespace parsing and output code.
- Improve automated tests.
- [#19] [#20] [#21] [#22] [#24] Typo fixes.
- Bugfixes in [#23] Memory and [#25] Process types.
- Various bug and style fixes.
Version 2.0.0b1
2013-04-29
- Add DNSQuery, DNSRecord, SocketAddress objects.
- Add 'title' and 'description' to Observables.
- Update StructuredText type with simpler structure.
- Update ExtractedString(s) and EnvironmentVariable(s) types.
- Update EmailMessage, File, Port, and Process objects.
- Extract PatternFieldGroup attributes into a separate class.
- Support lists of values within Properties.
- Support ControlledVocabularyStrings.
- Wrap content in CDATA where appropriate.
- Allow EntityList to enforce the type of objects that are added to it.
- Make XML output more readable. Don't output default attributes.
- Use proper prefixes in auto-generated IDs.
- Update helper.py.
- Improve automated tests.
- Various bugfixes, typo corrections, and style fixes.
Version 2.0.0a1
2013-04-18
- Major updates to support new language features and changes.
- Rename "Attributes" to "Properties".
- Rename "DefinedObject" to "ObjectProperties".
- Remove "StatefulMeasure".
- Update File, Mutex, Address, EmailMessage, and Artifact objects.
- Add EntityList type to handle collections of a single type.
- Properly handle xsi:type to determine Object type.
- Add proper object namespaces to XML output.
- Correctly test whether properties are equal.
- Recreated GenerateDS bindings to support CybOX 2.0.
- Various tweaks to bindings.
CybOX 1.0 branch
----------------
Version 1.0.0b3
2013-04-19
- Add Packer_List and Peak_Entropy attribute to FileObject.
- [#14] Fixed typo.
Version 1.0.0b2
2013-04-17
- Improve handling of list-style elements (those with maxOccurs>1).
- Improve ToolInformation, ToolInformationList, and Hash types.
- Make WinDriver object easier to use.
- Add support for DomainSpecificObjectAttributes on Objects.
- Various bugfixes and typo corrections.
Version 1.0.0b1
2013-04-12
- First (beta) release on PyPI
- Compatible with CybOX 1.0