- Created by Ian Christopher [Contractor], last modified by David Clements on Mar 20, 2023
This section describes the recent improvements, updates, fixes, and changes made since MetaEd v2.0.
Updates and Improvements in version 4.0
With this release, the MetaEd IDE moves from the now-retired Atom text editor to Visual Studio Code ("VS Code").
In addition to all of the work that went into moving to VS Code:
- The HTML handbook includes a new property "JSON Element Name" that translates the MetaEd model name to the name that will be expressed in the API documents. Example below; the highlighted words show the reason for this update: the model property
usesin the JSON schema / API model.
- [METAED-1350] - ApiModel DomainMetadata table comparison not using overlap-collapsed table name
- [METAED-1330] - ApiModel.json does not include decimal max and min values
- [METAED-1299] - ApiModel.json does not include integer max and min values
- The MetaEd language defines support for MinValue and MaxValue on Decimal and Integer data types - but support for these was never built into MetaEd or the ODS/API code generation process. As of version 4.0.0, the MetaEd output will include these values. However, the ODS/API will not utilize the additional information until the 7.0 release later in the summer of 2023. If you have need for early access, please submit a Tracker ticket to request instructions on recompiling an older version of the ODS/API with these updates.
Updates & Improvements in 3.2.0
If you are upgrading from a version prior to 3.0.0, please see MetaEd IDE - Upgrading to 3.x.
This release supports version 4.0 of the Ed-Fi Data Standard, and Ed-Fi ODS/API version 6.1. We also upgrade many of the underlying package dependencies in this version, addressing some technical debt.
This version continues to run on Atom. The next planned release will be MetaEd 4.0.0 running on Visual Studio Code.
Updates & Improvements in 3.1.0
This release corresponds with the release of the 4.0.0-a version of the Ed-Fi Data Standard and with Ed-Fi ODS/API 6.0, along with a few functional changes that impact any supported data standard.
Complete change log in Tracker
- [METAED-1274] - Support ODS API version 6.0
- Various tickets related to Data Standard 4.0.0-a and ODS/API 6.0, including several changes to how change query SQL scripts are generated. These changes only apply to the new data standard, not to older technology.
- [METAED-1271] - SQL Server Support String Length > 4000
- [METAED-1262] - Drop unnecessary plugins (MappingEDU, interchange, udm)
- [METAED-1286] - Add SQL Information to the DS Handbook
- [METAED-1267] - Support for Console Build Process on Linux
Updates & Improvements in 3.0.0
Please read these instructions carefully, as this release requires a complete reset of your MetaEd environment: MetaEd IDE - Upgrading to 3.x.
The primary purpose of this release is to upgrade MetaEd for use with NodeJs 16. Previously, MetaEd required NodeJs 12. As of 30 April, 2022, that version will no longer be supported. By skipping over NodeJs 14, straight to version 16, this MetaEd release will be on a supported version of NodeJs until the end of April, 2024.
Along with this upgrade, many of the Node libraries / dependencies were brought up to date, thus eliminating a large source of tech debt and potential bugs.
There are no functional changes to the MetaEd language, build and deploy process, extension authoring, etc. From a user perspective, the only change is to the NodeJs framework.
Updates & Improvements in 2.6.0
The major improvements in 2.5.1 include:
- Supports ODS / API 5.3.x and Data Standard 3.3.1-b. This version supports the latest (November 2021) release of the Ed-Fi Data Standard and Ed-Fi ODS / API.
- License Agreement Acceptance Change. The MetaEd license agreement is now required to be accepted the first time MetaEd is run, instead of at download time from Tech Docs.
- Modifications to support sub-classing of Common types. Support for sub-classing of Common types was in something of a "partially supported limbo"; this release corrects that and offers full support for this modeling pattern.
The following is a detailed list of changes in 2.6.0:
Support DS 3.3.1-b
Upgrade axios library - security issue
MetaEd-IDE link to Ed-Fi licensing is out of date
Enforce license agreement at first run
Expose MetaEd project "description" in ApiModel.json
Add support for "Used By" in Data Handbook for Extension elements
Allow common subclass to rely on parent identity
When targeting Data Standard 3.3b, the following warning will be displayed. This can be safely ignored.
warn: MetaEdId '3116' on Descriptor Property Term already exists on another entity. All MetaEdIds must be globally unique. C:\projects\metaed\node_modules\ed-fi-model-3.3b\Common\CohortYear.metaed (9:21) warn: MetaEdId '3116' on Shared Decimal Property EarnedCredits already exists on another entity. All MetaEdIds must be globally unique. C:\projects\metaed\node_modules\ed-fi-model-3.3b\Common\PartialCourseTranscriptAwards.metaed (6:53)
Updates & Improvements in 2.5.1
The major improvements in 2.5.1 include:
- Supports ODS / API 5.2 and Data Standard 3.3.0-a. This version supports the latest (March 2021) release of the Ed-Fi Data Standard and Ed-Fi ODS / API.
- Language Features Changes.
- Use of "is weak" is now marked as deprecated; although it continues to support prior data standards, "is weak" will cause an error with Data Standard version 3.3.0-a or higher.
- Similarly, the use of attributes on Descriptors is deprecated and will generate an error with Data Standard 3.3.0-a and higher.
- The new "potentially logical" keywords indicate that a reference may have a logical rather that literal interpretation in a target technology.
- Publishing Changes.
- The Data Handbook will no longer display the XSD Datatype for a field.
- No longer generating an
InterchangeOrderMetadata.xmlfile, as the API Bulk Client Loader no longer relies on it for running bulk uploads into the ODS / API.
The following is a detailed list of changes in 2.5.1:
MetaEd needs to prohibit adding attributes to descriptors
Generated SQL Artifacts When In Core Mode Should Include License Header
MetaEd language construct to indicate optional reference
Rename API Model element mapping from "potentially logical" keyword
Fix any new year (2021) issues
Fix FK gen issue with role-named collection of entities themselves having role-named properties
Support ODS API version 5.2.0
Bug on build and deploy buttons
Drop 'is weak'
Remove InterchangeOrderMetadata generation for ODS/API 5.0.0+
Remove XSD Datatype from the Data Handbook
Updates & Improvements in 2.4.0
The major improvements in 2.4.0 include:
- Supports ODS / API 5.1.x and Data Standard 3.2.0-c. This version supports the latest Data Standard and ODS / API releases.
- Fixes deploy issue. This version works around a bug in Atom 1.52.0 that prevented the MetaEd deploy feature from working.
The following is a detailed list of changes in 2.4.0:
- METAED-1171 — Metaed is not deploying the StudentTransportation sample extension in 5.0.0
- METAED-1166 — MetaEd consider removing \r\n from generated artifacts
- METAED-1168 — Support ODS API version 5.1.0
Updates & Improvements in 2.3.0
The major improvements in 2.3.0 include:
- Supports ODS / API 5.0.x and Data Standard 3.2.0-c. This version supports the latest Data Standard and ODS / API releases.
The following is a detailed list of changes in 2.3.0:
- METAED-777 — Missing Core Identities When Generating Interchange XSD
- METAED-1135 — Generates incomplete extension interchange XML
- METAED-1136 — Align Unique Index Names
- METAED-635 — Common As Collection With No Identity Properties Should Fail Validation
- METAED-731 — Shouldn't Allow a Collection of Inline Common
- METAED-1127 — Update MetaEd IDE version selection components
- METAED-1134 — Support new surrogate key pattern for Person
- METAED-1138 — Change XSDs to use semver versions for data standard
- METAED-1146 — Change About screen text to white
- METAED-1147 — Update MetaEd IDE version selection components for a change in API release version
- METAED-1144 — Default MetaEd to latest instead of Suite 2
Updates & Improvements in v2.2
The major improvements in v2.2 include:
- Supports ODS / API v3.4 and Data Standard v3.2b. This version supports the latest Data Standard and ODS / API releases.
The following is a detailed list of changes in v2.2:
- METAED-763 — MetaEd Generates Extra Extension Table When Extending With Optional Common
- METAED-948 — Required collections in MetaEd additions aren't reflected in the ApiModel-EXTENSION.json with correct cardinality
- METAED-1101 — Deploy does not work correctly when targeting "C:"
- METAED-1128 — Change Queries Deletes Fail for Derived Types in PostgreSQL
- METAED-1102 — Consider having deploy list full paths for deployed files
- ODS-3884 — Refactor Existing Change Queries MetaEd Plug-in for targeting specific database engines
- ODS-3885 — Modify Change Queries MetaEd Plugins to Support SQL Server and PostgreSQL
- ODS-4061 — Fix the case on the change query schema name
Updates & Improvements in v2.1.2
MetaEd v2.1.2 is a bug fix release. It resolves an issue that prevented extension projects from deploying to ODS / API version 2.x.
The following is a detailed list of changes in v2.1.2:
- METAED-1106 — Deploy incorrectly checks for extensions projects in 2.x versions
Updates & Improvements in v2.1.1
MetaEd v2.1.1 is a bug fix release. It resolves an issue when targeting ODS / API v3.3 and Data Standard v3.2a that prevented extension projects from building in the ODS / API.
The following is a detailed list of changes in v2.1.1:
- METAED-1105 — Revert and incorporate Ed-Fi-Model 3.2a to report project version 3.2.0
Updates & Improvements in v2.1.0
The major improvements in v2.1 include:
- Supports ODS / API v3.3 and Data Standard v3.2a. This version supports the latest Data Standard and ODS / API releases.
- Adds Support for Deprecation. Modelers can now mark entities and properties as being deprecated and slated for removal in future model versions. Warnings notify users where extension projects rely on a deprecated entity or property. Deprecation is also surfaced in the Ed-Fi Handbook documentation.
- Adds Common Subclasses. This allows modelers to subclass a Common in a manner similar to Association and Domain Entity subclasses, providing an alternative to Common Extensions.
- Deprecated Uncommon Language Features. Extensions will get deprecation warnings when using uncommon language features slated for removal in a future version. Most extension projects will be unaffected.
- Ready for Roadrunner. This version generates all files necessary for Project Roadrunner's PostgreSQL implementation.
The following is a detailed list of changes in v2.1:
- METAED-621 — Create New Language Element to Subclass Core Common Types
- METAED-1082 — Implement PostgreSQL name collapsing
- METAED-966 — Revise Data Handbook to clearly distinguish the case when there are duplicate entity names
- METAED-969 — Remove dash from "Ed-Fi" project name in MetaEd versions of Data Standard projects
- METAED-989 — Have Data Handbook conform to UML datatypes and standardized bindings
- METAED-994 — Ed-Fi HTML Handbook missing extension components
- METAED-1004 — Introduce concept of deprecation in MetaEd DSL
- METAED-1018 — Expand merge validation to include Domain Entities that are parents of conflicting Simple Types
- METAED-1041 — Create PostgresSQL-specific SQL plugin
- METAED-1044 — Surface deprecation in the Data Handbook
- METAED-1045 — Surface deprecation in the API model
- METAED-1046 — Deprecate use of MetaEd DSL words for use in extensions
- METAED-1054 — Add deprecation warnings to extension and subclassing
- METAED-1055 — Support for Record Level Ownership Authorization
- METAED-1060 — Minor realignments to Handbook branding
- METAED-1064 — Add deprecation reason to Data Handbook
- METAED-1075 — Plugin load errors should communicate to end users
- METAED-1076 — Surface non-validator issue messages to IDE and console end users
- METAED-1083 — MetaEd support for ODS/API v2.6
- METAED-1086 — Change ODS / API Deploy directory structure
- METAED-1092 — Changes to ODS / API Deploy core artifacts location
- METAED-1098 — Set log messages unimportant to end users to debug level
- METAED-891 — Handbook - provide link back to superclass from a subclass
- METAED-1049 — Entity with same name as simple type causes incorrect XSD generation
- METAED-1062 — Turn off deprecation warnings for core when in normal (not Alliance) mode
- METAED-1078 — MetaEdEnvironment.metaEdVersion not being set to actual version
- METAED-1085 — Relational plugin - column cloning is too shallow
- METAED-1087 — Some plugins crash when non-dependent plugins are not loaded
Updates & Improvements in v2.0
Backward Compatibility with v1.x
Existing MetaEd v1.x projects can be upgraded to v2.x. The steps to upgrade a project are outlined in Getting Started - Upgrading MetaEd Projects from v1.x.
The major improvements from v1.0 include:
- Added New Namespace Reference. This new feature allows reuse of entity names across multiple extension projects. See the Namespace Reference documentation for more details.
- Requires Node 12.5.0 or higher. Node 6.x was end-of-lifed in April 2019. Node 12.5.0 is the most current version, with long term support until April 2022.
- Removed Implicit Merges. This improvement removes automatic key unification when column names match, which provides greater transparency to data modelers. See the MetaEd Cookbook entry Using Merge Directives for more information about key unification in MetaEd v2.0.
- Added Standardized Plugin Configuration. This new feature for the IDE framework automatically loads configuration files, organizes the data, and notifies plugins. See the Plugin Developer Guide for complete details.
- Changed "With Context" to "Role Name". This language improvement changed
Role Nameto better represent the purpose of the keywords. The Upgrading MetaEd Projects from v1.x section in the Getting Started guide has details about how to update old projects to reflect the new language specification.
- Added Open Existing Project Support in the IDE. This improvement adds a new Open Existing Project menu option, which, not surprisingly, opens an existing project in MetaEd.
The following is a detailed list of changes from v1.0:
- METAED-898 — New Namespace Reference
- METAED-854 — Upgrade Node Requirement to 12.x
- METAED-916 — Removed Implicit Merges
- METAED-827 — Standardized Plugin Configuration
- METAED-886 — With Context to Role Name
- METAED-953 — Api Model is Generating DateTime instead of DateTime2
- METAED-972 — Convert CreateDate and LastModifiedDate to DateTime2
- METAED-861 — Have IDE save before build and deploy
- METAED-991 — inline common not caught by validation in 2.x
- METAED-988 — MetaEd 2.0 needs validation that SchoolYear is EdFi.SchoolYear
- METAED-965 — Add an open existing extension project option to IDE
- METAED-1024 — Association domain entity references cannot have merge directives
- METAED-993 — Clarify Tech Suite 2 support for new features added in MetaEd 2.0
- METAED-1026 — Improve error message for projectName
- METAED-997 — If the user duplicates an entity name in multiple namespaces, don't generate bulk extension artifacts
Updating the IDE to the Latest Version
In a command prompt session, navigate to the MetaEd-IDE folder in the project directory, enter
yarn up atom-metaed@latest and press Enter. This updates the MetaEd IDE to the latest version without updating other components.
See the section Updating the IDE for additional detail.
Table of Contents
- No labels