CHANGELOG
1.3.50 (2024-06-25)
- Industry Wide Predictions
1.3.49 (2024-02-09)
- Patch minor issues during Bid Creation
1.3.48 (2024-02-08)
- Add Industry Wide Predictions Sanity Checks
1.3.47 (2024-02-01)
- Add Industry Wide Prediction Basics
1.3.46 (2024-01-29)
- Add "predictedType" to cache values as either 'labor' or 'cost'
1.3.45 (2023-06-14)
- Skip Null Line Items in Bid Validator.
1.3.44 (2023-06-12)
- Skip Null Line Items in Components.
1.3.43 (2023-05-11)
- Fix Base Repository save that was broken by code auto-formatting.
1.3.41 (2023-05-09)
- Add API Queue Service and Queue the majority of Repository Endpoints to improve Concurrency.
1.3.40 (2023-04-24)
- Figure out why Build Number is being included in semver when releasing new versions of the SDK and update documentation.
1.3.40 (2023-04-13)
- Disabled console logging for most output to increase performance and resolved an issue with Calculations -vs- Predictions not being saved on a per Bid Line Item basis.
1.3.39 (2023-04-13)
- Implemented Z-Factors which allow the values of certain Bid Line Items to be multiplied using specific Bid Metric Formulas.
1.3.38 (2023-02-01)
- Improve performance by only calling math ceiling when absolutely necessary and checking for exponential in numbers.
1.3.37 (2023-01-26)
- Reduced the math ceiling by half due to dependent calculations hitting validation errors in the MySQL database.
1.3.36 (2023-01-26)
- Raise math ceiling to the maximum - 1, to the whole number, for a 17 precision decimal to be safe.
1.3.35 (2023-01-25)
- Added a math ceiling to deal with exponentials from Prediction Models
1.3.34 (2022-10-19)
Improvements
Bids, Projects, & All Bid Entities
- Updated the entity change log to be disabled or enabled via bid creation
1.3.33 (2022-09-18)
Improvements
Bids, Projects, & All Bid Entities
- Implemented a change log to keep a history of changes to bids, projects and bid entities
1.3.32 (2022-08-01)
BugFix
- Bids & Projects - Fixes a bug where the
total kw ac (pv)
ortotal kw ac
metrics predicted values were not displaying correctly. - Bids & Projects - Path 1.3.31 follow up with assembly deletion auto save and reload race conditions.
1.3.31 (2022-07-21)
BugFix
- Bids & Projects - Applies changes that prevents bid validation errors during project auto saving when removing assemblies
1.3.30 (2022-07-19)
BugFix
- Bids - Applied changes to enable predictions when Total Kw AC is non-zero in addition to watts. Essentially creating a conditional that states If Watts or Total Kw AC is non-zero, then enable predictions
1.3.29 (2022-06-3)
BugFix
- Bids - Fixed a bug where when a bid is set to locked and requires a indicative pricing calculation, the application would not render the price correctly.
1.3.28 (2022-05-13)
Improvements
Updated Projects & Bids with the ability to move bids to another project.
1.3.27 (2021-10-09)
Improvements
For Metrics, LineItems, and Fields - Previous patch changes now only apply to bids created on or after October 9th, 2021
1.3.26 (2021-09-25)
Improvements
For Metrics, LineItems, and Fields - Updated the assessment of these entities when reading from a datatable reference. Entities now properly determine if referencing a null or undefined entity that is a datatable where the referenced column/row value is empty or is linked to a pvbid_inventory part with an empty or undefined value.
Note This only applies to bids created after 09/24/2021
1.3.25 (2021-07-21)
Improvements
- Datatables - Added audit log information to all datatables logging the user name and datetime of their latest changes
1.3.24 (2021-06-16)
Bug Fix
- Field - Minor Tweak/Bugfix to handle reference chains for number fields referencing invalidated dependencies
1.3.23 (2021-05-19)
Minor Tweaks
- FieldAutoPopulateService - Minor Tweak/Bugfix to handle field reference chains.
1.3.22 (2021-05-17)
Clean Up
- FieldAutoPopulateService - Small statement clean up within the autoToggleBoolean function.
1.3.21 (2021-05-14)
Improvements
- Field - Boolean toggles and fields referencing boolean toggles now properly flag predictions on or off based on their value.
1.3.20 (2021-05-12)
Bug Fixes:
- Field - More improvements and tweaks to the new dependency referencing, auto-population and auto-toggle functionality for boolean and text fields.
1.3.19 (2021-05-07)
Improvements:
- Field - Improve the dependency referencing, auto-population and auto-toggle functionality.
1.3.18 (2021-04-29)
Bug Fixes:
- Field - This update includes fixed to dependency referencing, auto-population and auto-toggle functionality.
1.3.17 (2021-04-20)
Adjustments:
- Field - Added bid dependency referencing, auto-population and auto-toggle functionality to boolean and text fields.
1.3.16 (2021-04-05)
Adjustments:
- Bid - Re-added the
errorAdjustedMarginMultipler
. This value is multiplied by the bid price when the margin of error is greater than zero.
1.3.15 (2021-03-30)
Bug Fixs:
- Bid - Updated the indicative pricing helper to properly calculate the indicative price based on the bounds (WeightedValues of a Bid.)
1.3.14 (2021-03-25)
Improvements:
- Stoplight Indicator: - Improved the indicator's bid level calculation speed.
- Bid - Updated the Indicative Pricing Helper to calculate the Indicative Price based on the calculated weighted values.
1.3.13 (2021-03-18)
Improvements:
- Stoplight Indicator:
- LineItem Level - Modified calculations to properly apply contribution weight to weighted normal values.
- Component Level - Minor optimization for fast calculation times
- Bid Level - Added stoplight indicator to bid summary and fields page.
- System - Removed the unnecessary
Yellow !
icon and re-aligned the logic to determine the stoplight prediction.
1.3.12 (2021-03-08)
Bug Fix:
- Stoplight Indicator: - Modified line item and component level calculations to properly apply contribution weight to line item values.
1.3.11 (2021-03-04)
Improvements:
Stoplight Indicator:
Modified Component level stoplight indicator to properly display the correct indicator based on whether or not a line item is predicted, has prediction models, and is included in calculations.
Modified Component level
getWeightedNormalValue
&getPredictedValue
to filter the line items by theirisincluded
property.Modified LineItem level stoplight indicator to properly display the correct indicator based on whether or not a line item is predicted, has prediction models, and is included in calculations.
Minor calculation fixes to the Component level when calculating the
weightedLaborHourCost
forlabor
line items.
1.3.10 (2021-03-02)
Improvements:
- Stoplight Indicator: - Component level stoplight indication now accurately calculates its prediction from the associated line items.
1.3.9 (2021-02-26)
Bug Fix:
- Stoplight Indicator: Fixed a bug where line items with a predicted value equal to zero were skewing component level calculations
1.3.8 (2021-02-25)
Bug Fix:
- Stoplight Indicator: The indicator has been updated to properly calculate the
weightedNormalValue
s for a line item.
1.3.7 (2021-02-22)
Improvements:
- Stoplight Indicator:
- Modified the stoplight calculations to pass up the line items calculated value to the component level if the line item is contributing but does not have any prediction models.
- Modified distribution ranges to be received from bid variables instead of being hardcoded. This allows the ranges to be dynamically inserted by the user in Admin->BidVariables.
1.3.6 (2021-02-12)
Improvements:
Stoplight Indicator: The indicator now displays a
Data Not Available
for line items that are currently being predictedLine Item: Modified
getWeightedNormalValues
to filter out all values less than 0
Bug Fixes:
- Stoplight Indicator: Fixed a bug where the indicator was not properly calculating the converted weighted normal values for labor line items.
1.3.5 (2021-02-11)
Improvements:
Stoplight Indicator:
- Added a check to determine if a line item’s predicted value exists and is not zero. This will prevent the indicator from showing for line items without predicted values
- Added a check to line items that include or exclude the line item from stoplight calculations
based on its set
isIncluded
attribute.
Line Item:
- Added two new functions called
getWeightedLaborHourCost
andcalculateWeightedLaborCost
that converts the weighted normal values for line items typed aslabor
into weighted labor cost. This function is called upon at thecomponent
level to convert the labor hours for those line items into a centralized value (cost)
- Added two new functions called
1.3.4 (2021-02-09)
Bug Fixes:
- Line Item: Fixed a bug where the stoplight indicator was pulling
cost
instead oflabor_hours
for line items typed aslabor_hours
1.3.3 (2021-02-04)
Improvements:
- Line Item: Optimized the
_getStoplightIndicator
for better performance. - Component: Added
getStoplightIndicator
to return stoplight predictions and a related indicator for components and subcomponents
1.3.2 (2021-01-27)
Improvements:
- PVBid: Updated the SDK's dependencies
- Line Item: Changed
_getStoplightPredictions
to_getStoplightIndicator
- Line Item: Updated the stoplight indicator to show
positive
andnegative
Out of Bounds
for a lineItem if its cost is too far above or too far below its predicted value. - Line Item: Added a check to prevent the stoplight indicator from showing for a specific lineItem if its cost or labor cost is predicted
- Line Item: Removed the check preventing the stoplight indicator from showing if predictions are enabled
- Line Item: Updated Line Item tests
1.3.1 (2021-01-26)
Improvements:
- PVBid: Updated the SDK's dependencies
1.3.0 (2021-01-25)
Improvements:
- Line Item: Added
_getStoplightPrediction
to return stoplight predictions and a related indicator
1.2.20 (2020-06-20)
- Project: Only enable the change event listener on Bids if the Project's
autoSave
flag is enabled
1.2.19 (2020-06-19)
Improvements:
- Helpers: Removed stripping of square brackets in
_cleanFormula
and made_cleanValues
safer with types
1.2.18 (2020-06-11)
Bug Fixes:
- Component: Updated Component
wage
andburden
aggregation calculations. The new formulas are:wage
= sum of all labor Line Items' (wage _ hours) / sum of all labor Line Items' hoursburden
= sum of all labor Line Items' (burden _ hours) / sum of all labor Line Items' hours
1.2.17 (2020-04-16)
Bug Fixes:
- Line Item: Ensure prediction status flags are updated to false when cost is overridden.
1.2.16 (2020-04-09)
Improvements:
- Project: Added
batchUpdate
auto save flag (as query string parameter). Improves visibility into when auto save requests are being made. - Project: Added
disableAutoSave
setting to be used in congruence withenableAutoSave
.
Bug Fixes:
- PVBid: Include prediction models in the virtual project clone's line items.
1.2.15 (2020-03-24)
Improvements:
- Bid:
getUncategorizedLineItems
now returns the line items keyed by their ID instead of an array
1.2.14 (2020-03-20)
Improvements:
- Bid Entities: Added getDatatableByDefId method.
- Bid Entities: Added 'component', 'datatable' & 'line_item' types to getBidEntitiesByDefId method. These will return an array with a single entity and it is still recommended to use the more specific get*ByDefId for datatables and components if you can.
1.2.13 (2020-02-26)
Improvements:
- Bid|Component|DynamicGroup: Added "Cost w/Markup" property.
1.2.12 (2020-02-19)
Improvements:
- Bid: Price overrides are applied as a markup adjustment.
Features:
- Bid Variables: - Include a variable option for applying tax after markup.
1.2.11 (2020-01-17)
Improvements:
- Line Item: Better handling for prediction model results
1.2.10 (2020-01-10)
Improvements:
- Line Item: Minor performance improvements when saving.
- Validator: Now checks for line item duplicates within component groups.
Bug Fixes:
- Field Group: Fixed the potential to return an undefined field entity if an invalid field reference exists in the group
1.2.9 (2019-12-24)
Bug Fixes:
- Bid Entities: Return null from
bid.entities.getDependency(contract)
whencontract.bid_entity_id
is not defined.
1.2.8 (2019-12-16)
Bug Fixes:
- Line Item: Empty workups were sometimes unable to be edited.
1.2.7 (2019-12-05)
Features:
- Bid:
bid.costWithTax
property is now available representing the sum of the bid's cost and tax value.
1.2.6 (2019-11-15)
Improvements:
- LineItem: Rules will no longer consider whether or not their dependencies are fully defined when predictive pricing is not being used.
1.2.5 (2019-11-08)
Improvements:
- Helpers:
calculateFormula
method now accepts anoptions
object. This may contain the options flag[castValuesToNumbers=true]
which will force all given values and the formula result to a number. Set the flag to false if you wish to use/evaluate anything with booleans, strings, or nulls.
1.2.4 (2019-11-05)
Bug Fixes:
- Component: Added a helper method for safely accessing virtual properties such as "included_count". This method shouldn't be used externally and will likely be deprecated when the component structure is refactored.
1.2.3 (2019-10-21)
Bug Fixes:
- Helpers: The
evalExpression
method (used mostly in line item rules) was casting all variables to numbers. It will now maintain the provided type. Casting to number is appropriate for the formula calculator but not for evaluating logical expressions. - Field: List fields without a datatable dependency were causing new bids to fail on load. The misconfiguration will now be handled gracefully with a validation warning.
1.2.2 (2019-10-03)
Improvements:
- LineItems: Prediction Models are now statically embedded in the Line Item so that they are more deterministic.
- Project: Prediction Models are no longer loaded with the Project.
1.2.1 (2019-09-10)
Bug Fixes:
- LineItem: A bug was causing some line item rule expressions to act unexpectedly when there were unused dependencies.
1.2.0 (2019-08-30)
Features:
- DynamicGroup: Introduces a new assessable bid entity type,
DynamicGroup
. Dynamic Groups provide a flexible way to organize Line Items and Components within a bid. They provide an alternative to the rigid organizational elements of components and component groups.bid.addDynamicGroup()
creates a new dynamic group within the bid. Now just start adding components, line items, or other dynamic groups withdynamicGroup.addChild(lineItem)
. The group will provide with a similar interface to the component.dynamicGroup.cost
for example is the sum of its child costs. Dynamic groups are for organization only and they do not contribute to bid totals. If a dynamic group should appear in the UI alongside component groups, setdynamicGroup.isRootable
to true.
Improvements:
- Component:
isIncluded
has been added to the component interface. A component is considered to be included if it contains any included line items.
1.1.27 (2019-08-01)
Features:
- LineItem: Workups have been improved to allow per quantity values to be a reference. Use
lineItem.setWorkupField(field)
to link the workup to a field (list fields only - ie connected to a datatable). Once connected, any workup item's per quantity value can be set to the 4 character string value of the datatable column. Then calllineItem.assessWorkup()
to recalculate the workup value using the reference. To gain access to a line item's workup instance, uselineItem.getWorkup()
.
1.1.26 (2019-07-11)
Improvements:
- Bid: Indicative prices for indicative bids have been "shifted" upwards by 25% of the margin of error.
1.1.25 (2019-07-01)
Features:
- LineItem: Now has a "workup" value that can contribute to perQuantity through the formula as
WORKUP
. The current workup value can be accessed vialineItem.workup
. The workup value cannot be set directly at this time and must be edited via a calculator in the PVBid UI.
Improvements:
- BidEntity: Added a
hasAssembly
property which indicates whether or not the entity is in an assembly. Line Items, Metrics, Fields, and Field Groups may be in an assembly. - LineItem|Metric|Field|FieldGroup: added several methods to make working with assemblies easier and more consistent. To get the assembly that the entity belongs to, just call
entity.getAssembly()
. Methods for adding or removing the entity from an assembly have been added as well (setAssembly(assembly)
andunsetAssembly()
). - FieldGroup: Add
getFields()
method that returns theField
entities belonging to that group keyed by their reference id. - ComponentGroup: Add
getComponents()
method that returns the components belonging to that group keyed by their reference id. PasscomponentGroup.getComponents(true)
(passing true as an arg) with return just the top-level components in the group.
1.1.24 (2019-06-19)
Bug Fixes:
- Bid: Fixed bug preventing bid's active status from persisting before bid.load is called.
1.1.23 (2019-06-06)
Bug Fixes:
- Datatable:
findRowByExternalPartId
updated due to data structure changes.
1.1.22 (2019-06-04)
Features:
- Repositories: Account definition can now be accessed (read-only) through the PVBid SDK's repository. Please see the repository documentation for more information.
1.1.21 (2019-05-27)
Improvements:
- PVBid.getProject(): Now accepts options as a second parameter. The
loadBidEntities
option flag determines if the full bid instance (with all entities) should be loaded for each bid in the project. Performance can be increased by setting this flag to false when loading a project with many bids.loadBidEntities
is set to true by default. Bids loaded without entities may still be renamed, cloned, activated/deactivated, and deleted. They CANNOT be assessed or edited. - Bid: Bids will need to be loaded before they can be edited or assessed if they are loaded without entities using the
loadBidEntities = false
flag detailed above. The asynchronousbid.load()
method will fetch the full bid and return a promise which resolves once loading is complete. - Bid: Bids now have an
isLoaded
property to indicate whether it has been loaded yet or not.
1.1.20 (2019-05-13)
Improvements:
- LineItem: The default value of perQuantity has been changed from 0 to 1. This is a step to encourage users to favor Scalar over perQuantity. PerQuantity will be deprecated in a future release due to its limitations compared to Scalar.
1.1.19 (2019-04-30)
Features:
- Repositories:
datatables.findById
anddatatables.save
methods are now supported. - Datatable: Introducing Inventory Links. Datatables may now contain reference to items in a shared PVBid inventory. If a datatable is linked, the
inventoryLink
property will indicate which inventory the datatable is linked to. Linked datatables will be able to reference the columns of the linked inventory and rows within the datatable that reference specific inventory items will contain all the data associated with that item. All the existing datatable methods (getValue
,getOptions
,getColumnValues
) support this feature. To access the raw row or column data, thedatatable.columns
anddatatable.rows
properties must be used. Rows and columns should NOT be accessed through thedatatable.config
property. - Datatable:
datatable.reload()
is an async method that persists and reloads the datatable entity. This is useful in scenarios where an inventory link changes and fresh data is required. Modifying inventory links on a datatable instance is not recommended but it is possible with a Bulk Update in the PVBid application. - Datatable: add
datatable.findRowByExternalPartId
method to lookup a row in a datatable by its linked part's 3rd party vendor ID. This is useful for making field list selections based on information coming from an external source.
1.1.18 (2019-04-29)
Improvements:
- Bid: Immediately trigger a save upon toggling the bid's active state.
1.1.17 (2019-04-17)
Improvements:
- Bid:
reassessAsync
will force assess the bid and all its entities until the price has converged. It returns a promise that resolves when the reassessment is complete. It rejects if the price has not converged within a limited number of reassessments.
1.1.16 (2019-04-04)
Bug Fixes:
- Bid: Fixes bug that prevented watts from automatically recalculating after removing assemblies on some occasions.
1.1.15 (2019-04-01)
Bug Fixes:
- pvbid.getAuthToken: Skips setting the auth token for this request.
1.1.14 (2019-03-25)
Bug Fixes:
- LineItem:
isPredicted(prop)
now checks all properties prediction statuses if the prop is omitted. - Bid:
markupPercent
is calculated based on the bids line items and can be dynamically overridden.
Features:
- PVBid: It is now possible to generate virtual clones/copies of a project instance. These virtual clones are fully assessable but have restricted access to repository and persistence related methods. They are useful for "what if" scenarios. For instance, you could make a virtual clone and reset all line items and metrics to see what the bid total would be had you not made any overwrites without affecting the original bid. To generate a virtual clone from a project instance:
pvbid.getVirtualProjectClone(projectInstance)
. Optionally, you can limit the bids that will be included in the clone by passing an inclusive array of bid ids as the second parameter. - Assembly:
getFieldByAnchor(anchor)
is now available to quickly find a field belonging to an assembly by it's anchor string value.
Improvements:
- Bid: The bid data object can now be exported from a Bid instance including all its entities with
bid.exportDataWithEntities()
- BidEntity: The
exportData()
method now accepts a boolean parameter to ensure that the entity's config object is included in the export if set to true. If false, the config will only be included if a change has been detected (this helps with save performance). This parameter is false by default.
1.1.13 (2019-03-19)
Bug Fixes:
- Bid: Resolves an issue that prevented locked bids from saving their active/included status.
1.1.12 (2019-02-27)
Bug Fixes:
- Project:
createBid()
now returns the newly created Bid entity
1.1.11 (2019-02-25)
Features:
- Component: Expose
actualCostConfidenceFactor
andactualHoursConfidenceFactor
which indicate the confidence of theactualCost
andactualHours
. The confidence values are set automatically when the actual values are imported. A confidence of1
means the value was manually input. Confidence values of2+
indicate that the actual value was propagated from a related actual value. Higher numbers mean lower confidence. A confidence of0
indicates that no actual value was given or propagated and the actual value was taken from the bids estimation.
1.1.10 (2019-02-22)
Bug Fixes:
- LineItem:
isDirty()
better indicates changes to theconfig
property
1.1.9 (2019-02-19)
Features:
- Component: Add an
isOverridden()
method that returns the override status of the component. A component is considered to be overridden if any of its sub-components or line items are overridden.
Improvements:
- LineItem:
isOverridden()
's parameter is now optional. CallingisOverridden
without a param returns the override status of the whole line item.
1.1.8 (2019-01-30)
Documentation:
- Added summary of bid and cost breakdown with code examples.
- Improved anchors documentation
1.1.7 (2019-01-28)
Improvements:
- BidEntities: Add flag for
exactMatch
when searching for a bid entity by title (bid.entities.searchByTitle(type, query, exactMatch)
). The exact match flag defaults to false. Think ofexactMatch=false
as wrapping wildcard characters around the query string ((%<query>%)
). Note that both methods are case insensitive.
1.1.7 (2019-01-28)
Improvements:
- BidEntities: Add flag for
exactMatch
when searching for a bid entity by title (bid.entities.searchByTitle(type, query, exactMatch)
). The exact match flag defaults to false. Think ofexactMatch=false
as wrapping wildcard characters around the query string ((%<query>%)
). Note that both methods are case insensitive.
1.1.6 (2019-01-14)
Features:
- Bid Variable: Add a new bid variables to a bid with
bid.addBidVariable()
. - LineItem: Labor type line items may now consider tax if the
taxable_labor
bid variable is set to true (false by default).
1.1.5 (2019-01-11)
Features:
- Field: Introduced the
anchor
property.Anchors
are a means for identifying similar entities universally across any assembly and any account
Improvements:
- Bid:
bid.addAssemblies()
now returns the newly created entities. - Assembly: Exposed
assembly.definitionId
1.1.4 (2018-11-02)
Bug Fixes:
- Formula Constant Evaluation: Fixed problem with variables and math constants (e.g.
pi
) conflicting during evaluation
1.1.3 (2018-10-24)
Features:
- PredictionModels Repository:
repositories.predictionModels.getData(id)
retrieves specific prediction model and the model data
1.1.2 (2018-10-23)
Improvements:
- Documentation: Add additional examples to the Getting Started section of the Manual
Bug Fixes:
- Documentation: Fix broken links
1.1.1 (2018-10-18)
Features:
- Predictive Pricing: Introduced services to handle the evaluation of prediction models
- LineItem: Line items can now determine their value by evaluating a prediction model if configured to do so. A predicted value will be used if the
predictive_pricing
bid variable istrue
and the line item's value cannot be computed by evaluating its dependencies. The computed value may be overridden by setting theuse_computed
bid variable tofalse
orlineItem.useComputedValueWhenAvailable
tofalse
. The bid must have a non-zero value for Watts. - LineItem:
LineItem.isWeighted
determine or set a line items weighted switch. Predicted line items can optionally be weighted by their total historic inclusion count - LineItem:
LineItem.getPredicted('cost')
determines the predicted cost of the line item using its prediction models - Bid|LineItem|Component:
Bid|LineItem|Component.isPredicted(property)
determines if a property is being predicted - BidEntity:
BidEntity.hasNullDependency(property)
determines if the property depends on an undefined dependency
Improvements:
- BidVariable: Expose
isReserved
property - PredictionModels Repository:
repositories.predictionModels.get()
retrieves prediction models for account or specified lineItemDefId - Project:
predictionModels
property allows access to project's prediction models
Bug Fixes:
- BidVariable: execute a full reassessment when
markup_strategy
is changed - Bid:
bid.entities.getDependencyValue
now returnsnull
instead of0
for undefined dependencies
1.0.39 (2018-08-30)
Bug Fixes:
- Project: Improve tracking of changes to the data while project is saving
1.0.38 (2018-08-29)
Bug Fixes:
- Bid: Fix bug in submargin back-calculation
1.0.37 (2018-08-20)
Changes:
- Field: For number type fields, getters return value typed as number (instead of string)
1.0.36 (2018-07-12)
Bug Fixes:
- Bid Validation Improved formula reference validation
1.0.35 (2018-06-21)
Improvements:
- LineItem & Component Added new editable and computable
costWatt
andpriceWatt
properties. - LineItem & Component Added new read-only
costWithTax
property.
1.0.34 (2018-06-19)
Bug Fixes:
- ProjectRepository: Project
save()
hotfix to prevent saving when a project is pristine.
1.0.33 (2018-06-18)
Bug Fixes:
- ProjectRepository: Project
save()
persists changes even if no bids were modified
1.0.32 (2018-05-30)
Changes:
- Component: Expose the componentGroupId property
1.0.31 (2018-05-29)
Bug Fixes:
- Snapshot: Expose the save() method from the snapshot repository
- CacheRepository: The cache is invalidated when the
create()
method is used
1.0.30 (2018-05-24)
Bug Fixes:
- Documentation: Link to the changelog from the docs
1.0.29 (2018-05-24)
Bug Fixes:
- Bid: Return a promise rejection from the
bid.lock()
method if the bid cannot be locked