Changelog¶
These release notes describe what's new in each version. OCDS adheres to Semantic Versioning.
Iterative improvements¶
Per the normative and non-normative content and changes policy, iterative improvements to non-normative content can be made outside the release cycle.
Documentation¶
Primer:
Guidance:
#986 Add implementation guidance from OCP website.
#1386 Add link to OCDS Implementation Checklist.
Map:
Add examples #1338:
Add pages:
#1016 #1140 Add links to OCDS profiles and linked standards.
#1193 Removed language distinguishing "core", "community", and "local" extensions.
#1428 Integrate content from what to do with fields that don't map.
Build:
Add pages:
#963 Remove guidance on web discovery.
#986 Merge Registration page into Build page.
#1150 Align language in Build phase with language in Map phase.
#1414 Remove the planning section from Easy releases and Change history.
#1494 Add guidance on preparing test data to Check your data section.
Publish:
#1427 Add guidance about recommended extensions.
Various minor improvements #1051 #1080 #1083 #1085 #1091 #1130 #1227 #1299 #1337 #1384.
#908 Rename Validator to Data Review Tool.
#955 Split the Guidance section into sub-sections. Add a new History section, and move the Changelog, Credits, and History and Development pages to it.
#958 Governance page: Change responsibility for prioritization review to OCP's Head of Data Products & Services. Change "technical team" to "standard development team".
#959 #979 History section: Merge Credits and History of OCDS pages into Development and Appreciation page. Update history from present perspective.
#960 Support section: Merge Tools page into Support page.
Re-organize non-normative content (milestone).
Copy-edit non-normative pages and fix broken links (milestone).
Change how the documentation is built (milestone).
Update translations (milestone)
#1444 Governance page: OCP is now a 501(c)(3) organization, and FCNY is no longer its fiscal sponsor.
[1.1.5] - 2020-08-20¶
#1054 The Translation and localization policy is amended to read "normative content will be translated into all core supported languages as soon as possible" instead of "before the release". A Spanish translation is ready for release, and a French translation will be ready as soon as possible.
Codelists¶
itemClassificationScheme.csv
:milestoneType.csv
:#1000 Update description of 'financing' code, and add 'payment' code.
Schema¶
Documentation¶
#966 Move Governance and Deprecation pages to new Governance section.
#968 #1032 Use "field" to refer to OCDS fields and "property" to refer to JSON Schema properties.
#970 Add links to access the release schema as a CSV spreadsheet and via the Field-Level Mapping Template. Add notes to describe the alternatives for browsing the schemas.
#965 Release Reference page: Add extensions list for the Transaction object.
#970 Release Schema page: Correct the description of compiled releases.
#996 Record Reference page: Rewrite page to improve clarity.
#1010 Identifiers page: Add link to organization identifiers example.
Codelists page:
#978 #1032 Remove the suggestion to use X prefixes, for the reasons expressed by the IETF.
#972 Clarify the norms around open and closed codelists.
#973 Describe the
openCodelist
andcodelist
JSON Schema properties.#1036 Add instruction for OCDS publishers to contact the Data Support Team to add list codes to org-id.guide.
Extensions¶
See the changelogs for:
[1.1.4] - 2019-06-25¶
Advisories¶
OCDS 1.0 uses the whole-list merge strategy for
Award.suppliers
, whereas OCDS 1.1 uses the identifier merge strategy. As a consequence, the OCDS 1.1 versioned release schema is not backward compatible with OCDS 1.0.Action: Versioned releases respecting the OCDS 1.0 schema that set
Award.suppliers
will need to be re-created to validate against the OCDS 1.1 schema.
#780 All extensions authored by the Open Contracting Partnership have been moved to the open-contracting-extensions organization.
Action: No change is required, but we recommend that publishers update the URLs of these extensions in their release packages and record packages.
#738 1.1.3 changed the merging and versioning behaviors of
Item.unit
, such that it could be removed by setting it tonull
, and such that it was versioned as a whole. 1.1.4 restores the behaviors from 1.1.2, such that only its sub-fields can be removed by setting them tonull
, and such that its sub-fields are versioned individually.Action: If you had upgraded to OCDS 1.1.3, then compiled releases and versioned releases that set
Item.unit
will likely need to be re-created to validate against the OCDS 1.1.4 schema.
#810
buyer.id
,Tender.procuringEntity.id
,Contract.implementation.payer.id
Contract.implementation.payee.id
,Budget.id
,Identifier.id
, andClassification.id
are now versioned, consistent with the documentation.Action: Versioned releases that set these fields will likely need to be re-created to validate against the OCDS 1.1.4 schema.
#831 OCDS now has a Normative and non-normative content and changes policy.
#744 OCDS now has a Translation and localization policy.
#717 #734 The OCDS documentation website now has a privacy notice.
The documentation is now available in Italian.
Codelists¶
#824 Canonical codelist files are available at URLs like https://standard.open-contracting.org/schema/1__1__5/codelists/, and translations are available at URLs like https://standard.open-contracting.org/1.1/en/codelists/, for OCDS 1.1.4 and up.
#746 #842 Update the currency codelist for ISO4217 amendments 166, 167, 168 and 169.
#725 Add a 'plannedProcurementNotice' code to the
documentType
codelist, 'CUCOP' toitemClassificationScheme
, 'interestedParty' topartyRole
.#725 Update the descriptions of the 'tenderNotice' and 'technicalSpecifications' codes in the
documentType
codelist to align with the text of the Agreement on Government Procurement (GPA) of the World Trade Organization (WTO).#725 Apply the style guide and OCDS glossary to the 'procuringEntity' and 'supplier' codes in the
partyRole
codelist.#725 Add examples to the description of the 'environmentalImpact' code in the
documentType
codelist.#829 Use sentence case for code titles and end code descriptions with periods.
#852 Use the correct normative keywords in code descriptions.
Schema¶
#712 #715 Add missing titles for
publisher
andurl
and description forrecord
in the record package schema, and missing description forreleases
in release package schema.#769 The versioned release schema now matches the release schema in: having a
minLength
validation property forOrganizationReference.name
; havingcodelist
andopenCodelist
properties forTender.awardCriteria
,Tender.awardCriteriaDetails
,Document.documentType
,Item.unit.scheme
,Classification.scheme
, andRelatedProcess.scheme
; and having adeprecated
property forBudget.source
. Alltitle
anddescription
metadata properties are removed from the versioned release schema.#838 Eliminate the conflicting rule that release identifiers must be unique within release packages. Uniqueness within the scope of a release package either implies that release identifiers must be globally unique, or imposes an arbitrary restriction on the contents of release packages, as there is no rule preventing release packages from containing releases from different contracting processes. Release identifiers are only required to be locally unique within the scope of a contracting process. The
ocid
andid
values of a release can be used together to disambiguate releases within a release package.Clarify the uniqueness of release identifiers in the release schema #838 and release package schema #831.
#810
tag
is nowomitWhenMerged
, consistent with the reference implementation in OCDS Merge.#810 Add a dereferenced release schema to ease the implementation of the merge routine.
#810 Add
"versionId": true
hint toIdentifier
andClassification
.#845 Remove a reference to a closed issue and a note about a field name.
#855 Use the correct normative keywords in field descriptions.
#855 Rephrase field descriptions as definitions rather than instructions.
#855 Align the descriptions of the
license
fields in the release package schema and record package schema.
Documentation¶
#772 #810 #831 Clarify the merge rules for compiled releases and versioned releases.
#797 Fix examples of versioned releases.
#831 Use the correct normative keywords in the documentation.
#869 Move normative statements into normative sections.
#835 Display the canonical schema URLs in the documentation.
#838 Clarify the uniqueness of release, award and contract identifiers.
#831 Improve the description of iterating the release
id
.#822 Integrate the Extension Explorer.
#783 Add missing email address for the standard governance working group.
Replace ambiguous or incorrect terms:
#831 Use "release
id
" and "releasedate
", instead of "releaseID
" and "releaseDate
"#831 Use "ocid prefix", instead of "publisher prefix"
#840 Use "release package and record package", instead of "data package", to avoid confusion with Frictionless Data's Data Package specification
#831 Use "minor versions", instead of "decimal versions" on deprecation page
#823 Fix incorrect uses of "records", "codelists" and "gazetteers" on identifiers and codelists pages
Fix out-of-date content:
Add links to:
Extensions¶
See the changelogs for:
[1.1.3] - 2018-04-16¶
Schema¶
#646 Disallow use of
null
as an entry in the array forTender.additionalProcurementCategories
.#639 Make
name
field optional forOrganizationReference
.#630 Allow optional field
Item.unit
to benull
. (Reverted in 1.1.4)#663 Add
"type": "object"
to objects in the versioned release schema.a75c1c5 Make
record-package-schema.json
use thecodelist
property to referencereleaseTag.csv
, and update theenum
accordingly.
Codelists¶
Update the currency codelist for ISO4217 amendment 165 (2017-12-14).
Schema¶
Documentation¶
#633 Update schema reference page to display
Release.relatedProcesses
,Planning.documents
andContract.relatedProcesses
.#634 Clarify definitions of core, community and local extensions.
Old and unused scripts have been removed from the documentation repository, and a number of script dependencies have been updated.
Extensions¶
[1.1.2] - 2017-11-10¶
Codelists¶
#609 Update the currency codelist for ISO4217 amendment 163 (2017-06-09). XBT (Bitcoin) is removed from the codelist as it is not part of ISO4217.
Documentation¶
[1.1.1] - 2017-07-31¶
Schema¶
#251 Allow optional field
parties.role
to benull
.#479 Remove
releases
as a required field inrecord-package-schema.json
.#475 Add an
enum
property to every field in the schema with a closed codelist.
Codelists¶
#422 Include a currency codelist in the documentation and schema.
#471 Update the milestoneType codelist, replacing 'planning' with 'preProcurement' and 'adjudication' with 'assessment', and introducing 'approval' and 'financing'. This is an open codelist, so the old codes remain valid, but publishers able to update to the new codes should do so.
#473 Update the definition of the 'contractSchedule' code in the documentType codelist.
Documentation¶
#457 List all registered extensions.
#480 Align the tables and text in the publication levels guidance.
#489 Change the milestone documents extension to a core extension. This extension is only needed by publishers with legacy data containing documents within milestones.
#612 Update the description of the Organization Identifier Scheme codelist, to reflect that it is now maintained by org-id.guide.
#506 Remove
make_field_definitions.py
from the utility scripts, as it is no longer required.
[1.1.0] - 2017-05-01¶
Policy changes¶
#401 Deprecation policy - The deprecation policy has been updated to support deprecation in decimal upgrades.
Changed¶
Structural updates¶
#368 Updates to organization handling in OCDS - We have updated the approach to include organization information in the standard from having embedded blocks of organization information, to using embedded cross-references to a top-level 'parties' array where full organization details are stored. This change reduces duplication of organization information, and enables more flexible disclosure of information on all the parties to a contracting process, including multiple buyers.
#357 Amendment handling - We have replace amendment with an array of amendments, and have updated schema and guidance to remove the option of providing semi-structured changes in an amendment object. Changes between amendments should now be provided using multiple releases, with the option to explicitly declare how releases relate to an amendment included in the new amendments array.
Schema validation updates¶
#329 Float for Item.quantity - Item quantities has been updated to 'number' to support decimal values (e.g 10.5 rather than just 10)
#253 Negative amounts - We have added support for negative amounts in transactions
#323 Standard should specify use of UTF-8 for encoding JSON - We now recommend use of I-JSON and UTF-8 for JSON publication
#166 Indicate encoding for CSV serializations - We have added information on CSV encoding to the implementation guidance to recommend UTF-8 or Windows-1252.
#336 Codelist properties in schema - We have included explicit references to the codelist files (CSV versions) in the schema. This will be used in future versions of the validator to support validation against codelists.
#301 Specifying versions and extensions in package metadata - We have updated the package schemas to require that version is declared, and to provide a means of declaring extensions in use. This will be used in future versions of the validator to support validation against extensions.
#287 #447 Change how merge strategies are expressed - The
omitWhenMerged
andwholeListMerge
properties replace themergeStrategy
andmergeOptions
properties, with different semantics.#431 Add
minLength
property to required string fields.
Schema definition updates¶
#372 Updates to transactions terminology - We have replaced receiverOrganization and providerOrganization with payee and payer, to align with more familiar terminology, and have replaced 'amount' with 'value' for consistency with other areas of the standard.
#378 Updates to core budget block - We have updated references to the Fiscal Data Package in the schema.
#337 Definition of "tenderer" to enhance clarity - We have updated the definition of tenderer in the tenders block, and cross-referenced the bid extension.
#259 Enquiries - We have updated the definition of hasEnquiries.
#246 In what scope must a release ID be unique? - We have updated the definition of release.id to reflect the scope in which it must be unique
Closed codelist updates¶
#201 Tender status - New 'planning' and 'withdrawn' codes have been introduced to the tenderStatus codelist.
#380 Procurement method - A new code for 'direct' has been added the procurementMethod codelist
#373 Milestone status - We have updated the milestoneStatus codelist with a 'scheduled' entry and revised definitions
#297 Currency codelist external link - We have fixed the external link for currency codelists to refer to the official ISO source.
Open codelist updates¶
#386 Document type - New codes have been added to the documentType codelist, and definitions of codes updated.
#322 Submission Method Codelist - The submissionMethod codelist has been updated
#387 Codelist updates: Item Classification Scheme - New entries have been added to the itemClassificationScheme codelist
#385 Codelist updates: awardCriteria - Revising the awardCriteria codelist, with all existing codes deprecated and a new set of codes introduced.
Added¶
#371 #439 Linking related processes - We have introduced a new RelatedProcess block at the release and contract level
#374 Duration in periods - We have introduced fields for duration in days, and maximum extent, to the period building block
#374 Contract and Award Periods in Tender - We have introduced contract period in tender and updated the definition of award period.
#376 Contract type (supplies, works and services) - We have introduced a procurementCategory field to specify whether contracts are for supplies, works, services, consultancyServices or mixed
#373 Milestone types - We have introduced the milestoneType property and codelist
#366 Unit of Measure - additional fields and codelist - We have introduced a structured classification for unitOfMeasure on each item, with a recommendation to use UNCEFACT.
Extensions¶
#335 #411 Core and community extensions - We have introduced widespread use of extensions throughout the standard. An extension provides fields and data structures that are optional, either because (a) they are only relevant in particular contexts or contracting processes; or (b) they represent a 'stretch goal' for most data publishers, and so are not currently suitable for inclusion in the main standard. We divide these extensions into 'core extensions' which have wide enough relevance, and technical maturity to be included in the main standard documentation (and which are versioned along with the standard documentation), and 'community extensions' which may have less technical maturity, or which might be versioned independently of the main standard.
#259 Enquiries - We have introduced a core enquiries extension for providing information on enquiries received during the tender stage.
#342 Overall contracting process description - We have introduced a new top-level title and description for the contracting process as a core extension.
#274 New property of contract: extendsContractID - We have introduced a new field 'extendsContractID' to the Contract block to support contract cross-referencing between contracts.
#381 Lots - We have introduced a core extension to provide a model for contracting processes which are divided into lots.
#379 Bids and Bid Statistics - We have introduced a core extension which provides a top level Bids section, with BidStatistics and Bid building blocks for detailed information on individual bids. This supersedes the current tender/tenderers section.
#250 Location extension - We have moved the location extensions to become a core extension
#33 Participation fees (bid document and submission costs) - We have introduced a core extension for declaring the participation fees related to a contracting process.
#249 Extend contract with a supplier array - We have introduced a core extension to allow inclusion of supplier information at the contract level.
Deprecated¶
#355 Deprecating milestone documents - We have deprecated milestone documents from core, and added a milestone documents extension for those who wish to continue to use documents at the milestone level.
#368 Updates to organization handling in OCDS - We have deprecated use of the full organization block at points other than the parties array.
#372 Updates to transactions terminology - receiverOrganization, providerOrganization and amount properties have been deprecated in favour or other terms.
[1.0.3] - 2017-07-31¶
Schema¶
[1.0.2] - 2016-11-22¶
Schema¶
#362 Add a
title
property to all fields.#221 Add the missing
procurementMethodDetails
field.#391 Fix typo in
description
property ofreleaseTag
field.#271 Fix link to Fiscal Data Package.
#314 Add a
description
property to thenumberOfTenderers
field.#244 Fix the
description
property of thechanges
field.
Documentation¶
#228 Update the documentation to use "Object" not "Reference" in Format column of field tables.
#331 Add a Governance page.
#332 Replace the license.
#332 Add a Contributor Licence Agreement.
#360 Clarify the CSV serialization guidance.
Add CSV download links for registered ocids and publication levels. Update the publication levels spreadsheet accordingly.
[1.0.1] - 2016-03-14¶
Codelists¶
Schema¶
#283 Remove
"mergeStrategy": "ocdsVersion"
from theplanning.budget
field.#295 Allow the optional fields
Award.status
andContract.status
to benull
.#300 Remove
"format": "uri"
from thepublisher.scheme
field.#304 Fix the versioning of arrays in the versioned release schema.
#305 Add
title
anddescription
properties and fix typos.
Documentation¶
Restructure the documentation, including: expanding the Getting Started section and adding more examples.
[1.0.0] - 2015-07-29¶
Codelists¶
Update
documentType
andorganizationIdentifierRegistrationAgency_iati
codelists.
Schema¶
Documentation¶
Add changelog.
[1.0.RC] - 2014-11-18¶
Changes prior to this release are not covered here. Please see the overview of changes between the beta and 1.0.RC releases.