Changelog
All notable changes to Dangl.AVACloud are documented here.
v1.32.4:
- Docker images for AVACloud self hosted versions are now also available for ARM images, e.g. to run on Macs with Apple M1 chips
 
v1.32.0:
- Added 
Position.OenormProperties.OenormShortTextandPosition.OenormProperties.OenormShortTextAdditionto the Dangl.AVA data model 
v1.31.1:
- Added 
SubDescriptionDto.UnitTagas a new property 
v1.31.0:
- Added 
ConsiderNullItemNumberSchemaAsInvalidForRebuildOperationas a boolean query parameter when converting to GAEB targets. This defaults to false, but if enabled, can be used to instruct AVACloud to considernullvalues inItemNumberSchemas as invalid schemas, and thus triggering a rebuild attempt for the schema 
v1.30.0:
- Endpoints that produce GAEB files now have an optional query parameter 
ForceIncludeDescriptionsthat, when set totrue, will force include all description elements likeLongTextproperties andExecutionDescriptionelements. This is useful when exporting to GAEB 84 - Offer phases when you still want to keep the descriptions - All elements of type 
IElementDtonow support catalogue references, meaning that it is now possible for users to use those in elements of typeNoteTextandExecutionDescription. This is, however, not supported for exchanges into other formats and can only be used within the AVA project itself - A new validation endpoint was added, that allows users to validate AVA projects, GAEB & ÖNorm files
 
v1.29.0:
- GAEB 2000 files now support images, both for import and export scenarios
 - Fixed an issue with the .NET clients, newly introduced enum values caused the deserialization of JSON responses to fail for older client libraries. Starting now, the clients libraries will assume the default enum values for unrecognized values
 - When converting to REB, it's now possible to also convert to X31 files
 
v1.28.0:
- Added 
CatalogueType.OenormB1801CostGroup, which can be used in ÖNorm XML based exchanges to describe ÖNorm B 1801 cost groups attached to positions - Added 
AbsoluteDeductiontoServiceSpecificationandServiceSpecificationGroupelements, which is supported in GAEB 2000 and GAEB XML exchanges. This is available as a backwards compatible way, meaning that theDeductionFactorof those elements will still be present 
v1.27.5:
- Fixed a bug when importing GAEB 90 and GAEB 2000 files with skipped item number levels and top level positions that have an index defined
 
v1.27.0:
- The AVACloud backend was updated to .NET 6
 - AVA dependencies were updated, 
Position.HtmlLongTextnow supports a bidder comment, wrapped in adivelement withclass="bidder-comment"at the end of the text. Additionally, all description elements now have a new boolean property indicating if the used long text contains a bidder comment. Please see the documentation for Dangl.AVA for more details 
v1.26.1:
- The max size for file uploads was increased to 50 MB
 
v1.26.0:
- When importing GAEB files, it is now possible to set the 
supportSkippedItemNumberLevelsInPositions. This defaults to false, but enables a new feature that properly supports skipped item number levels in GAEB files. For example, if an item number schema defines two group levels and one position level, but the position has is at the second level in the hierarchy, the item number may be displayed as01.__.02instead of01.02.. This is in accordance to the GAEB standard, but is currently specified as an opt-in behavior. Since this feature is still considered to be under testing, it might be updated or changed in future releases - Endpoints that take an AVA project now have an optional feature to automatically generate the 
ItemNumberSchemaand individualItemNumbersin case it's missing - Added feature to optionally remove unprintable characters when exporting to GAEB or ÖNorm, to ensure valid XML can be generated
 
v1.25.0:
- Multiple bugfixes for handling ÖNorm B2063 files
 
v1.24.0:
- Self-hosted instances can now be configured to allow 
Httpscheme in the Swagger documentation instead ofHttps - The ÖNorm and SIA / Ifa dependencies were updated and include many bugfixes. The import and export results may be different than in previous versions. While the element structure was not changed, many fixes are related to how elements are mapped between Dangl.AVA and the Austrian and Swiss formats
 
v1.23.0:
- The handling of ÖNorm B2063 file was improved. Among several bugfixes, AVACloud now supports missing optional group levels and handles them correctly. This means that internally, the project structure is not restored to a valid number of parent group levels, which means that importing ÖNorm B2063 files from now one might return different, but more correct results
 
v1.22.0:
- The internal packages were updated, there's a new property 
Position.AlternativeGroupIdentifieravailable in the Dangl.AVA model that allows users to explicitly specify the group identifier used when exporting base and alternative positions 
v1.21.0:
- When converting to ÖNorm Xml based formats, AVACloud will now default to try outputting valid Xml files according to the schema. This means that required but missing properties will be filled with sensible defaults
 - Conversions that target ÖNorm can now set a new query parameter 
SkipTryEnforceSchemaCompliantXmlOutputto disable strict Xml output when creating ÖNorm files - Several smaller bugfixes when deserializing GAEB files have been added
 
v1.20.0:
- Dangl.AVACloud now supports the new ÖNorm V2021 format for import and export
 
v1.19.0:
- GAEB exports to GAEB XML can now optional export 
QtyDetermitems (Quantity Determination or Quantity Take Off), which can be used to export detailled quantity calculations via GAEB - The internal modules were updated to support more features, mostly for GAEB and ÖNorm
 - The SIA endpoint can now also deserialize 
crbxIfa18 files - Subscriptions to AVACloud are now no longer handled by the service itself, but by the external identity provider
 - Responses on the public instances should now correctly compress, even those being served from the Cloudflare CDN endpoints. This saves around 90% of bandwidth for most request scenarios
 - Dangl.AVACloud was updated to .NET 5
 - For on premise or self hosting customers, Dangl.AVACloud can now be configured to use API key authentication, thus no full integration with Dangl.Identity is required
 - For on premise or self hosting customers, Dangl.AVACloud now supports PostgeSQL in addition to SQL Server and SqlAzure_ as database providers
 
v1.18.0:
- Added support to export ÖNorm files to V2009
 
v1.17.0:
- Added a new parameter 
EnforceStrictOfferPhaseLongTextOutputwhen converting to GAEB. This parameter is only applied when the conversion target is GAEB XML and the exchange phase isOffer. This leads to long text exports being strict, meaning that only text addition segments are exported and all other textx are removed from the export, even if the containing element is marked to contain a text addition - Added support for the old ÖNorm B2063 format in import and export scenarios. This is still in a preview state, no guarantee is given that the import and export is working correctly
 
v1.16.8:
- Fixed a bug where embedded images in Excel files could cause the deserialization to fail. This was caused by missing native dependencies in the Docker images. This did not impact most Excel files, since images are not supported when importing Excel in AVACloud
 
v1.16.0:
- All endpoints that accept the Dangl.AVA format now accept explicitly empty string values for Guids and enumerations. These empty values will resolve to their internal default values and should make it easier to implement clients
 - The Swagger specification now correctly describes the 
application/problem+jsoncontent type that may be returned for some Http status codes when client side errors occur 
v1.15.4:
- The Excel conversion controllers now internally abort the conversion if the client closes the connection to free up server ressources
 
v1.15.0:
- Dangl.AVACloud now runs on ASP.NET Core 3.1 and uses the latest Dangl.Identity integrations
 
v1.14.2
- When the source format is an AVA Project, it is now possible to set both 
ProjectTaxRateandProjectHourlyWagedirectly on aServiceSpecificationwhen theServiceSpecification.PriceInformationelement is missing 
v1.14.0:
- Internal dependencies were updated to support additional properties in the AVA project model
 
v1.13.0:
- When exporting to GAEB or ÖNorm, the 
ProgNamevalue can now be controlled by the user. By default, the name of the OpenID client will be used. This can be configured by setting a special client claim. Please see the documentation for more details 
v1.12.0:
- The Dangl.AVA data model was updated and now supports 
ProductData - Import of REB and GAEB X31 files for quantity takeoff is now supported
 
v1.11.0:
- Properties that represent 
DateTimeare no longer marked asrequiredby the Swagger definition endpoint. This is because the underlying .NET model uses non-nullableDateTimeproperties that are omitted from serialization if they have no actual value set 
v1.10.0:
- AVACloud now supports GAEB XML v3.3 files in import and export scenarios. This does not change the public interface but only introduces a new 
DestinationGAEBTypevalue 
v1.9.1:
- Add 
AvaToAvaconversion to regenerate calculated properties - Fix regression where properties with default values, e.g. 
DateTime, were not omitted from the output whenProjectDtos were returned 
v1.9.0:
- Add support for importing properietary 
aslvfiles 
v1.8.1:
- The interactive documentation was changed back to use Swagger 2.0 instead of OpenAPI 3.0, since most tools still have compatibility issues with the newer specification
 
v1.8.0:
- The generated assemblies now have a strong name. This is a breaking change of the binary API and will require recompilation on all systems that consume this package. The strong name of the generated assembly allows compatibility with other, signed tools. Please note that this does not increase security or provide tamper-proof binaries, as the key is available in the source code per Microsoft guidelines
 
v1.7.21:
- Add initial support for GAEB XML Version 3.3
 
v1.7.18:
- Update of internal dependencies for latest bugfixes around GAEB imports
 
v1.7.9:
- Significant performance increase for projects with tens of thousands of elements
 
v1.7.8:
- The Swagger definitions were updated to include better formatted descriptions
 
v1.7.5:
- The Swagger definitions for the API specification were updated to be better compatible with third party code generators
 
v1.7.4:
- Update Dangl.GAEB and Dangl.AVA.Converter to be able to import GAEB XML files with an invalid exchange phase (
Award.DPfield) 
v1.7.1:
- Fix startup error that triggered for specific configuration in Azure App Services and prevented the app from starting
 
v1.7.0:
- AVACloud can now export to ÖNorm 2063
 - AVACloud can now import and export the Swiss SIA 451 format
 
v1.6.2:
- Fixed wrong return type in generated .NET client code
 - Include 
AvaConversionClientin client factory in public package 
v1.6.0:
- Introduced support for the German REB DA11 file format. This format is used for quantity takeoff and quantity calculations
 - The Dangl.AVA, Dangl.GAEB and Dangl.AVA.Converter dependencies were updated
 
v1.5.10:
- Dependencies update for latest bugfixes with GAEB XML import and export
 
v1.5.6:
- Dependencies were updated. Dangl.AVACloud now supports the overrides introduced with the latest Dangl.AVA.IO release for some properties
 - The public documentation was updated with information about the unified Dangl.AVA project model
 
v1.5.4:
- The Dangl.GAEB dependency was updated
 
v1.5.3:
- The Dangl.AVA and Dangl.AVA.Converter dependencies were updated to include the latest additions of properties
 
v1.5.2:
- All parameters of type 
IFormFileare now checked to ensure their length is greater than zero. Otherwise, the request will return a400 - Badrequeststatus code without hitting the controller 
v1.5.1:
- Added 
AvaProjectDtoValidationAttributeto ensure that invalid AVA Projects sent as parameters lead directly to a 400 - Bad Request response and don't hit the conversion service at all - Updated Dangl.GAEB to 
v1.6.7for latest improvements to deserialize GAEB XML files with missing GAEBInfo declarations 
v1.5.0:
- The Dangl.AVA dependencies were updated to 
v2.1.0. This now also includes support for the new destination GAEB phasesSideOfferandCostEstimate - When sending invalid AVA-projects via the API where elements of type 
IElementDtocontain an invalidElementTypeDiscriminatorvalue, an error message is sent as response with the offending value 
v1.4.6:
- The Dangl.GAEB module was updated to make importing of malformed GAEB XML files more robust
 
v1.4.5:
- GAEB exports now contain a 
GAEBInfo.ProgNameto indicate their origin as coming from AVACloud 
v1.4.3:
- Update dependencies for latest bugfixes and performance improvements
 
v1.4.3:
- Update dependencies. GAEB files which have no item numbers and no item number schema defined should now get automatically generated item numbers
 
v1.4.2:
- Update dependencies
 
v1.4.1:
- Fix some issues where the new ASP.NET Core 2.2 InProcess hosting model would sometimes fail to load the OS-dependant 
System.Drawing.Common.dllin Azure App Service environments - Fixed issue where the Swagger definition contained duplicated enum values
 
v1.4.0:
- The Dangl.AVA & Dangl.GAEB dependencies were updated to the latest version 
v2.0.0 - The server side was upgrade to ASP.NET Core 2.2
 
v1.3.3:
- Update of dependencies to fix bugs related to empty tables in some GAEB XML Html long texts
 
v1.3.1:
- Exports to GAEB 90 no longer include the branding comment, since this caused problems with some importing applications
 - The 
DestinationGaebTypefor GAEB 2000 Commerce was renamed fromGAEB2000CommercetoGaeb2000Commerce. The old value may still be used by clients 
v1.3.0:
- The public and internal Swagger endpoints were unified to a single one
 - The public client does now also include all operations with AVA models. It uses generated models instead of the Dangl.AVA.IO package
 
v1.2.4:
- Bugfix: The .NET client had a bug around JSON deserialization of OAuth2 token responses
 
v1.2.3:
- Update Dangl.AVA dependencies for latest bugfixes
 
v1.2.2:
- The Admin Ui Dashboard can now optionally store and display options that were used during conversion processes
 
v1.2.1:
- Update Dangl.AVA.Converter.Excel and Dangl.Oenorm for latest bugfixes and improvements
 
v1.2.0:
- Dangl.AVA models were updated to indicate properties that are 
readonly. This should make integration with clients more straightforward 
v1.1.2:
- Bugfix where non-schema compliant GAEB XML files with invalid decimal values could not be read
 
v1.1.1:
- Bugfix where GAEB 90 exports with very high absolute values for deductions failed
 
v1.1.0
- The API now accepts Austrian OENorm 2063 files as input
 
v1.0.13:
- Update Dangl.AVA dependencies for latest bugfixes
 
v1.0.12:
- The app is now published with all dependencies. This results in slightly larger deployment sizes, but makes hosts no longer require to have the correct .NET Core runtime installed
 
v1.0.11:
- Update Dangl.GAEB & Dangl.AVA dependencies for latest bugfixes
 - Prettify Admin UI Dashboard
 - Update to ASP.NET Core 2.1.3
 
v1.0.10:
- Update Admin UI Dashboard to include more statistics
 
v1.0.9:
- Update dependencies to be able to read 
NoteTextelements from GAEB 2000 commerce exchange phase files 
v1.0.8:
- All 
DateTimeJson response objects have now their timezone attached 
v1.0.5:
- Added AVACloud Admin UI Dashboard to monitor service health and metrics
 - Added option to normalize file names, so that when files are converted with their full path & filename, only the filename portion is used for the result
 
v1.0.4:
- Add support for 
GAEBXML_V3_1destination type 
v1.0.3:
- When supplying an invalid 
cultureto endpoints returning Excel, the culture will now default toen 
v1.0.2:
- Fix Swagger discriminator propeties not being correctly camelCased in the Swagger definitions
 
v1.0.1
- Fix Swagger schema being set to only 
httpwhen first hit by Azure App Service warmup via non-secure http route 
v1.0.0
- Initial Release