- Add support for new GetProfileList schema
- Add CacheablePath function to abstract and reuse path generation logic
- Serialize LoadCacheable content in human readable form
- Move public-profile cache into like named folder
- Move public-profile items into oem specific folders
- Reuse LoadOemProfileAsync for persistence instead of custom implementation
- Issues MatterHackers/MCWS#72, MatterHackers/MCWS#84
- Broke up Altair and Poetry Infinity printers into separate printers based on nozzle diameter
- fixed simple, simple metal, and MendalMax to have Layer heights less than their Nozzle Diameter on coarse settings
- fixed printer config's oem property to be the name of its directory rather than its parents (was always profiles)
- changed minimumLayerHight to maximumLayeHeight to reflect what the value actually represented
- removed fix needed categories
- Fix Creator and Evolution printers
- Ignore base layer for Slice preset by using OemLayer.ValueOrDefault rather than GetValue
- Rename test to StartGCodeWithExtrudesMustFollowM109Heatup
- Extract code from Deserialize into ReloadOemProfiles
- Wire up ReloadOemProfiles to Load event
- Revert to lowercase oemprofiles.json filename
- Issue #1179