Skip to content

Releases: opensanctions/followthemoney

v4.4.0

19 Dec 12:16

Choose a tag to compare

What's Changed

  • Implement entity.checksum and adopt it in a few places by @pudo in #184
  • Introduce a generic sentinel date for "old stuff" by @pudo in #185
  • Various dependency updates for TS and Java

v4.3.3

10 Nov 14:07

Choose a tag to compare

What's Changed

  • Don't set caption in entity.to_dict() is no caption had been computed already.
  • Fix pickle support for Schema and Property objects against the Model singleton.
  • Other name -> Alias and better docs for weakAlias by @leonhandreke in #150

Full Changelog: v4.3.2...v4.3.3

v4.3.2

30 Oct 16:56

Choose a tag to compare

What's Changed

  • Fix invalid break condition in loop by @pudo in #125
  • Better descriptions for some classifiers/identifier on companies by @leonhandreke in #122
  • Deprecate Person:secondName because it's too ambiguous by @leonhandreke in #123
  • fix: Return entity match score 1.0 for self-similarity by @th0rntwig in #148
  • Identifier handling from rigour 1.4 by @pudo in #149

New Contributors

Full Changelog: v4.2.1...v4.3.2

v4.2.1

04 Sep 06:06

Choose a tag to compare

  • Replace countrynames with rigour.lookup_territory by @pudo in #89
  • Add origin to StatementEntity context by @simonwoerpel in #72
  • clear unused slot by @pudo in #90
  • helpers.combine_names: Don't modify the name parts in the entity passed by @leonhandreke in #93
  • fix: add slots to ValueEntity for pickling by @simonwoerpel in #95
  • Risk schema by @pudo in #91
  • Introduce list of risk topics by @pudo in #96
  • Maritime topics by @pudo in #97
  • Validate property names by @pudo in #100
  • Consider statement language when picking a caption by @pudo in #99

Full Changelog: v4.1.1...v4.2.1

v4.1.1

27 Jul 13:54

Choose a tag to compare

This release incorporates various follow-on bug fixes from the last major release.

What's Changed

New Contributors

Full Changelog: v4.0.0...v4.1.1

v4.0.0

13 Jul 14:22

Choose a tag to compare

  • BREAKING: Remove the Post and Assessment schemata, re-name UserAccount:number to UserAccount:phone, CryptoWallet:mangingExchange to CryptoWallet:managingExchange, and change the property type of Sanction:duration and License:area to number. Remove Company:ibcRuc, and add hidden Thing:programId. See #5 for more context on type changes.
  • New properties: Interval:proof (see alephdata/followthemoney#1699), Thing:programId (for making sanctioned entities searchably by sanctions policy), LegalEntity:uscCode (hi China, opensanctions/opensanctions#2301).
  • BREAKING: The method signature for EntityProxy.from_dict() has changed: the first argument, model, is no longer needed. This is a consequence of the model singleton being more widely accessible inside the codebase as Model.instance().
  • BREAKING: The property type iban has been removed in favor of identifier with format iban.
  • Introduce a model for dataset metadata. This introduces a Dataset class, which has typical dataset metadata attributes like name, title, summary, coverage (nested), publisher (nested), version, datasets (list of references to child datasets), and a list of resources which describe individual files - often retrievable at a URL, that are underlying the dataset. Multiple datasets can be grouped into DataCatalog, which is essentially a JSON array of datasets.
  • Introduce a statement data model for entity data. In this model, the property values of entities are complex objects, which include metadata like lang (language), first_seen/last_seen (freshness), dataset (origin of the statement in the context of merged entities), and original_value (the value of before normalization/cleaning has been applied, e.g. the unparsed date value).
  • Introduce a stricter data model for number properties. Numbers now have a defined semantic (NNNN.DD UNIT), which is not fully enforced with this version of the library, but made available as parser functions.
  • Remove dependency on fingerprints library. The underlying idea of fingerprints was to make a one-shot attempt at simplifying a given name string into a form that is easy to compare. This has proven to be simplistic in places where we want to apply only some of the heuristics, or where knowing the entity type (person, company) is helpful. This has triggered a new evolution of the tool, which is inlined in rigour as rigour.names.
  • Refactor the handling of exports into the RDF format. This used to be spread out across the code base as a first-class concern, but given the relative obscurity of the use case, it made sense to move this into its own exporter module that handles the whole process.
  • We've tightened the type signature for various signatures, while keeping in place the code that handles existing inputs. The idea here is to force other Python applications using FtM to start producing more and more clean interface usage based on type hints, which will also result in less ambiguous outcomes and performance gains.
  • Remove followthemoney.offshore for tagging specific entities as corp.offshore.

What's Changed

  • Implement extras and origin with some tests by @pudo in #33
  • Numbers parsing by @pudo in #12
  • FtM 4.0 by @pudo in #11
  • mkdocs documentation by @pudo in #35
  • Feat/inline streamentity by @simonwoerpel in #38
  • Use SubtleCrypto for generating namespace HMAC by @pudo in #50
  • Expand documentation for number type by @pudo in #52
  • Make project descriptions more expressive by @pudo in #53
  • Fix broken links to new oa location by @jfilter in #55
  • (fix) Re-enable EntityProxy as value for entity property by @simonwoerpel in #54
  • Add a few comments to the Javadoc by @pudo in #56
  • Can't help myself to bring in some string interning. by @pudo in #58
  • Add Chinese Unified Social Credit Identifier by @pudo in #57
  • Fix semantics table rendering for no edges by @simonwoerpel in #59
  • Use pydantic models for catalog / dataset metadata by @simonwoerpel in #60
  • Add headers and statement IDs to pack format by @pudo in #64

New Contributors

Full Changelog: v3.8.5...v4.0.0

v3.8.5

27 Jun 18:45

Choose a tag to compare

This is an administrative release including several code cleanups, metadata updates, and serving as verification for the CI/CD system.