22
33Here described only the breaking and most significant changes. The full changelog and documentation for all released versions could be found in nicely formatted [ commit history] ( https://github.com/frictionlessdata/frictionless-py/commits/main ) .
44
5+ ## v5.18
6+
7+ - Support ` ignore_constraints ` option for the ` Indexer ` (#1691 )
8+ - Various bug fixes
9+
510## v5.17.1
611
712- fix: deprecated dependencies ([ PR 1674] ( https://github.com/frictionlessdata/frictionless-py/pull/1674 ) )
813- fix: unexpected "missing-label" error with option ` header_case = False ` ([ #1635 ] ( https://github.com/frictionlessdata/frictionless-py/issues/1635 ) )
914- fix: KeyError when a "primaryKey" is missing ([ #1633 ] ( https://github.com/frictionlessdata/frictionless-py/issues/1633 ) )
10- - fix: unexpected field-error for a boolean "example" with "trueValues" or
15+ - fix: unexpected field-error for a boolean "example" with "trueValues" or
1116 "falseValues" properties ([ #1610 ] ( https://github.com/frictionlessdata/frictionless-py/issues/1610 ) )
1217
1318## v5.15
@@ -26,17 +31,17 @@ Here described only the breaking and most significant changes. The full changelo
2631## v5.10
2732
2833- Various architectural and standards-compatibility improvements (minor breaking changes):
29- - Added new Console commands:
30- - list
31- - explore
32- - query
33- - script
34- - convert
35- - publish
36- - Rebased Console commands on Rich (nice output in the Console)
37- - Fixed ` extract ` returning the results depends on the source type (now it's always a dictionary indexed by the resource name)
38- - Enforced type safety -- many tabular command will be marked as impossible for non-tabular resources if a type checker is used
39- - Improved ` frictionless.Resource(source) ` guessing abilities; if you just like to open a table resource use ` frictionless.resources.TableResource(path=path) `
34+ - Added new Console commands:
35+ - list
36+ - explore
37+ - query
38+ - script
39+ - convert
40+ - publish
41+ - Rebased Console commands on Rich (nice output in the Console)
42+ - Fixed ` extract ` returning the results depends on the source type (now it's always a dictionary indexed by the resource name)
43+ - Enforced type safety -- many tabular command will be marked as impossible for non-tabular resources if a type checker is used
44+ - Improved ` frictionless.Resource(source) ` guessing abilities; if you just like to open a table resource use ` frictionless.resources.TableResource(path=path) `
4045
4146## v5.8
4247
@@ -45,14 +50,14 @@ Here described only the breaking and most significant changes. The full changelo
4550## v5.7
4651
4752- Various architectural and standards-compatibility improvements (minor breaking changes):
48- - Improved type detection mechanism (including remote descriptors)
49- - Added ` resources ` module including ` File/Text/Json/TableResource `
50- - Deprecated ` resource.type ` argument -- use the classes above
51- - Changed ` catalog.packages[] ` to ` catalog.datasets[].package `
52- - Made ` resource.schema ` optional (` resource.has_schema ` is removed)
53- - Made ` resource.normpath ` optional (` resource.normdata ` is removed)
54- - Standards-compatability improvements: profile, stats
55- - Renamed ` system/plugin.select_Check/etc ` to ` system/plugin.select_check_class/etc `
53+ - Improved type detection mechanism (including remote descriptors)
54+ - Added ` resources ` module including ` File/Text/Json/TableResource `
55+ - Deprecated ` resource.type ` argument -- use the classes above
56+ - Changed ` catalog.packages[] ` to ` catalog.datasets[].package `
57+ - Made ` resource.schema ` optional (` resource.has_schema ` is removed)
58+ - Made ` resource.normpath ` optional (` resource.normdata ` is removed)
59+ - Standards-compatability improvements: profile, stats
60+ - Renamed ` system/plugin.select_Check/etc ` to ` system/plugin.select_check_class/etc `
5661
5762## v5.6
5863
@@ -104,19 +109,19 @@ Here described only the breaking and most significant changes. The full changelo
104109
105110## v4.39
106111
107- - Fixed processing of incompatible decimal char in table schema and data (#1089 )
112+ - Fixed processing of incompatible decimal char in table schema and data (#1089 )
108113- Added support for Time Zone data (#1097 )
109- - Improved validation messages by adding ` summary ` and partial validation details (#1106 )
110- - Implemented new feature ` summary ` (#1127 )
111- - ` schema.to_summary `
112- - ` report.to_summary `
113- - Added CLI command ` summary `
114- - Fixed file compression ` package.to_zip ` (#1104 )
115- - Implemented feature to validate single resource (#1112 )
116- - Improved error message to notify about invalid fields (#1117 )
117- - Fixed type conversion of NaN values for data of type Int64 (#1115 )
118- - Exposed valid/invalid flags in CLI ` extract ` command (#1130 )
119- - Implemented feature ` package.to_er_diagram ` (#1135 )
114+ - Improved validation messages by adding ` summary ` and partial validation details (#1106 )
115+ - Implemented new feature ` summary ` (#1127 )
116+ - ` schema.to_summary `
117+ - ` report.to_summary `
118+ - Added CLI command ` summary `
119+ - Fixed file compression ` package.to_zip ` (#1104 )
120+ - Implemented feature to validate single resource (#1112 )
121+ - Improved error message to notify about invalid fields (#1117 )
122+ - Fixed type conversion of NaN values for data of type Int64 (#1115 )
123+ - Exposed valid/invalid flags in CLI ` extract ` command (#1130 )
124+ - Implemented feature ` package.to_er_diagram ` (#1135 )
120125
121126## v4.38
122127
@@ -167,15 +172,15 @@ Here described only the breaking and most significant changes. The full changelo
167172
168173## v4.32
169174
170- - Added to_markdown() feature to metadata (#1052 )
175+ - Added to_markdown() feature to metadata (#1052 )
171176
172177## v4.31
173178
174- - Added a feature that allows to export table schema as excel (#1040 )
175- - Added nontabular note to validation results to indicate nontabular file (#1046 )
176- - Excel stats now shows bytes and hash (#1045 )
177- - Added pprint feature which displays metadata in a readable and pretty way (#1039 )
178- - Improved error message if resource.data is not a string (#1036 )
179+ - Added a feature that allows to export table schema as excel (#1040 )
180+ - Added nontabular note to validation results to indicate nontabular file (#1046 )
181+ - Excel stats now shows bytes and hash (#1045 )
182+ - Added pprint feature which displays metadata in a readable and pretty way (#1039 )
183+ - Improved error message if resource.data is not a string (#1036 )
179184
180185## v4.29
181186
@@ -301,42 +306,42 @@ Here described only the breaking and most significant changes. The full changelo
301306## v4.0.0a15
302307
303308- Updated loaders (#658 ) (BREAKING)
304- - Renamed ` filelike ` loader to ` stream ` loader
305- - Migrated from ` text ` loader to ` buffer ` loader
309+ - Renamed ` filelike ` loader to ` stream ` loader
310+ - Migrated from ` text ` loader to ` buffer ` loader
306311
307312## v4.0.0a14
308313
309314- Improve transform API (#657 ) (BREAKING)
310- - Swithed to the ` transform_resource(resource) ` signature
311- - Swithed to the ` transform_package(package) ` signature
315+ - Swithed to the ` transform_resource(resource) ` signature
316+ - Swithed to the ` transform_package(package) ` signature
312317
313318## v4.0.0a13
314319
315320- Improved resource/package import/export (#655 ) (BREAKING)
316- - Reworked ` parser.write_row_stream ` API
317- - Reworked ` resource.from/to ` API
318- - Reworked ` package.from/to ` API
319- - Reworked ` Storage ` API
320- - Reworked ` system.create_storage ` API
321- - Merged ` PandasStorage ` into ` PandasParser `
322- - Merged ` SpssStorage ` into ` SpssParser `
321+ - Reworked ` parser.write_row_stream ` API
322+ - Reworked ` resource.from/to ` API
323+ - Reworked ` package.from/to ` API
324+ - Reworked ` Storage ` API
325+ - Reworked ` system.create_storage ` API
326+ - Merged ` PandasStorage ` into ` PandasParser `
327+ - Merged ` SpssStorage ` into ` SpssParser `
323328
324329## v4.0.0a12
325330
326331- Improved transformation steps (#650 ) (BREAKING)
327- - Split value/formula/function concepts
328- - Renamed a few minor step arguments
332+ - Split value/formula/function concepts
333+ - Renamed a few minor step arguments
329334
330335## v4.0.0a11
331336
332337- Improved layout and data streams concepts (#648 ) (BREAKING)
333- - Renamed ` data_stream ` to ` list_stream `
334- - Renamed ` readData ` to ` readLists `
335- - Renamed ` sample ` to ` fragment ` (` sample ` now is raw lists)
336- - Implemented loader.buffer
337- - Implemented parser.sample
338- - Added support for function based checks
339- - Added support for function based steps
338+ - Renamed ` data_stream ` to ` list_stream `
339+ - Renamed ` readData ` to ` readLists `
340+ - Renamed ` sample ` to ` fragment ` (` sample ` now is raw lists)
341+ - Implemented loader.buffer
342+ - Implemented parser.sample
343+ - Added support for function based checks
344+ - Added support for function based steps
340345
341346## v4.0.0a10
342347
@@ -346,85 +351,85 @@ Here described only the breaking and most significant changes. The full changelo
346351## v4.0.0a9
347352
348353- Rebased on ` Detector ` class (BREAKING)
349- - Migrated all infer _ * , sync/patch_schema and detect_encoding parameters to ` Detector `
350- - Made ` resource.infer ` omit empty objects
351- - Added ` resource.read_*(size) ` argument
352- - Added ` resource.labels ` property
354+ - Migrated all infer \_\ * , sync/patch_schema and detect_encoding parameters to ` Detector `
355+ - Made ` resource.infer ` omit empty objects
356+ - Added ` resource.read_*(size) ` argument
357+ - Added ` resource.labels ` property
353358
354359## v4.0.0a8
355360
356361- Improved checks/steps API (#621 ) (BREAKING)
357- - Updated ` validate(extra_checks=[...]) ` to ` validate(checks=[{"code": 'code', ...}]) `
362+ - Updated ` validate(extra_checks=[...]) ` to ` validate(checks=[{"code": 'code', ...}]) `
358363
359364## v4.0.0a7
360365
361366- Updated describe/extract/transform/validate APIs (BREAKING)
362- - Removed ` validate_table ` (use ` validate_resource ` )
363- - Removed legacy ` Table ` and ` File ` classes
364- - Removed ` dataflows ` plugin
365- - Replaced ` nopool ` by ` parallel ` (not parallel by default)
366- - Renamed ` report.tables ` to ` report.tasks `
367- - Rebased on ` report.tasks[].resource ` (instead of plain path/scheme/format/etc)
368- - Flatten Pipeline steps signature
367+ - Removed ` validate_table ` (use ` validate_resource ` )
368+ - Removed legacy ` Table ` and ` File ` classes
369+ - Removed ` dataflows ` plugin
370+ - Replaced ` nopool ` by ` parallel ` (not parallel by default)
371+ - Renamed ` report.tables ` to ` report.tasks `
372+ - Rebased on ` report.tasks[].resource ` (instead of plain path/scheme/format/etc)
373+ - Flatten Pipeline steps signature
369374
370375## v4.0.0a6
371376
372377- Introduced Layout class (BREAKING)
373- - Renamed ` Query ` class and arguments/properties to ` Layout `
374- - Moved ` header ` options from ` Dialect ` to ` Layout `
378+ - Renamed ` Query ` class and arguments/properties to ` Layout `
379+ - Moved ` header ` options from ` Dialect ` to ` Layout `
375380
376381## v4.0.0a5
377382
378383- Updated transform API
379- - Added ` transform(type) ` argument
384+ - Added ` transform(type) ` argument
380385
381386## v4.0.0a4
382387
383388- Updated describe API (BREAKING)
384- - Renamed ` describe(source_type) ` argument to ` type `
389+ - Renamed ` describe(source_type) ` argument to ` type `
385390
386391## v4.0.0a3
387392
388393- Updated extract API (BREAKING)
389- - Removed ` extract_table ` (use ` extract_resource ` with the same API)
390- - Renamed ` extract(source_type) ` argument to ` type `
394+ - Removed ` extract_table ` (use ` extract_resource ` with the same API)
395+ - Renamed ` extract(source_type) ` argument to ` type `
391396
392397## v4.0.0a1
393398
394399- Initial API/codebase improvements for v4 (BREAKING)
395- - Allow ` Package/Resource(source) ` notation (guess descriptor/path/etc)
396- - Renamed ` schema.infer ` -> ` Schema.from_sample `
397- - Renamed ` resource.inline ` -> ` resource.memory `
398- - Renamed ` compression_path ` -> ` innerpath `
399- - Renamed ` compression: no ` -> ` compression: "" `
400- - Updated ` Package/Resource.infer ` not to infer stats (use ` stats=True ` )
401- - Removed ` Package/Resource.infer(only_sample) ` argument
402- - Removed ` Resouce.from/to_zip ` (use ` Package.from/to_zip ` )
403- - Removed ` Resouce.source ` (use ` Resource.data ` or ` Resource.fullpath ` )
404- - Removed ` package/resource.infer(source) ` argument (use constructors)
405- - Added some new API (will be covered in the updated docs after the v4 release)
400+ - Allow ` Package/Resource(source) ` notation (guess descriptor/path/etc)
401+ - Renamed ` schema.infer ` -> ` Schema.from_sample `
402+ - Renamed ` resource.inline ` -> ` resource.memory `
403+ - Renamed ` compression_path ` -> ` innerpath `
404+ - Renamed ` compression: no ` -> ` compression: "" `
405+ - Updated ` Package/Resource.infer ` not to infer stats (use ` stats=True ` )
406+ - Removed ` Package/Resource.infer(only_sample) ` argument
407+ - Removed ` Resouce.from/to_zip ` (use ` Package.from/to_zip ` )
408+ - Removed ` Resouce.source ` (use ` Resource.data ` or ` Resource.fullpath ` )
409+ - Removed ` package/resource.infer(source) ` argument (use constructors)
410+ - Added some new API (will be covered in the updated docs after the v4 release)
406411
407412## v3.48
408413
409414- Make Resource independent from Table/File (#607 ) (BREAKING)
410- - Resource can be opened like Table (it's recommended to use Resource instead of Table)
411- - Renamed ` resource.read_sample() ` to ` resource.sample `
412- - Renamed ` resource.read_header() ` to ` resource.header `
413- - Renamed ` resource.read_stats() ` to ` resource.stats `
414- - Removed ` resource.to_table() `
415- - Removed ` resource.to_file() `
415+ - Resource can be opened like Table (it's recommended to use Resource instead of Table)
416+ - Renamed ` resource.read_sample() ` to ` resource.sample `
417+ - Renamed ` resource.read_header() ` to ` resource.header `
418+ - Renamed ` resource.read_stats() ` to ` resource.stats `
419+ - Removed ` resource.to_table() `
420+ - Removed ` resource.to_file() `
416421
417422## v3.47
418423
419424- Optimize Row/Header/Table and rename header errors (#601 ) (BREAKING)
420- - Row object is now lazy; it casts data on-demand preserving the same API
421- - Method ` resource/table.read_data(_stream) ` now includes a header row if present
422- - Renamed ` errors.ExtraHeaderError->ExtraLabelError ` (` extra-label-error ` )
423- - Renamed ` errors.MissingHeaderError->MissingLabelError ` (` missing-label-error ` )
424- - Renamed ` errors.BlankHeaderError->BlankLabelError ` (` blank-label-error ` )
425- - Renamed ` errors.DuplicateHeaderError->DuplicateLabelError ` (` duplicate-label-error ` )
426- - Renamed ` errors.NonMatchingHeaderError->IncorrectLabelError ` (` incorrect-label-error ` )
427- - Renamed ` schema.read/write_data->read/write_cells `
425+ - Row object is now lazy; it casts data on-demand preserving the same API
426+ - Method ` resource/table.read_data(_stream) ` now includes a header row if present
427+ - Renamed ` errors.ExtraHeaderError->ExtraLabelError ` (` extra-label-error ` )
428+ - Renamed ` errors.MissingHeaderError->MissingLabelError ` (` missing-label-error ` )
429+ - Renamed ` errors.BlankHeaderError->BlankLabelError ` (` blank-label-error ` )
430+ - Renamed ` errors.DuplicateHeaderError->DuplicateLabelError ` (` duplicate-label-error ` )
431+ - Renamed ` errors.NonMatchingHeaderError->IncorrectLabelError ` (` incorrect-label-error ` )
432+ - Renamed ` schema.read/write_data->read/write_cells `
428433
429434## v3.46
430435
@@ -527,10 +532,10 @@ exception = FrictionlessException()
527532## v3.30
528533
529534- Various CLI improvements (#532 )
530- - Added autocompletion
531- - Added stdin support
532- - Added "extract --csv"
533- - Exposed more options
535+ - Added autocompletion
536+ - Added stdin support
537+ - Added "extract --csv"
538+ - Exposed more options
534539
535540## v3.29
536541
@@ -626,7 +631,7 @@ exception = FrictionlessException()
626631
627632## v3.8
628633
629- - Add support SQL/Pandas import/export (#31 )
634+ - Add support SQL/Pandas import/export (#31 )
630635
631636## v3.7
632637
0 commit comments