Skip to content

Releases: SEED-platform/seed

Release 2.0.2

15 Apr 16:24
Compare
Choose a tag to compare
Release 2.0.2 Pre-release
Pre-release
v2.0.2

Incrementing version

Release 2.0.1

03 Mar 04:08
Compare
Choose a tag to compare
Release 2.0.1 Pre-release
Pre-release

Coming soon...

Release 2.0.0

20 Jan 22:30
Compare
Choose a tag to compare
2017-01-20 — Diff

SEED v2.0 represents a major improvement in all facets of the software. Notably, the concept of Buildings has been separated into Properties and Tax Lots, which allow for many-to-many relationships between the two, and uploaded data sets are now compartmentalized into calendar Cycles. The public API has also been completely revised to be more RESTful with interactive documentation using Swagger. This release also includes significant bug fixes and improvements for code robustness.

New Features

  • PR #986: Incorporated Angular UI Grid for new inventory views
  • PR #995: Added UI Grid column menus, grid menus, and saving/restoring state functionality, #1000
  • PR #997: Added UI Grid column pinning
  • PR #1002: Added organization ids to the admin page #984
  • PR #1020: Added cycle persistence
  • PR #1021: Added option to reset grid filters
  • PR #1023: Grid style improvements
  • PR #1036: Added Swagger to main interface
  • PR #1045: Assigns Property and TaxLot classifications to extra data fields
  • PR #1051: Split backend search from buildings into properties and tax lots
  • PR #1052: Major UI refactor, including inventory list, details, settings, labels, cycles, reporting, and more
  • PR #1059: Updated backend reporting to handle cycles
  • PR #1062: Added sample data generator
  • PR #1064: Added labels backend for properties/tax lots
  • PR #1065: Audit log migrations
  • PR #1070: Improved Swagger documentation
  • PR #1071: Added the ability to apply labels in bulk or singly to properties and tax lots
  • PR #1075: Added selected cycle when saving data
  • PR #1077: More many-to-many test cases
  • PR #1078: Adds the ability to handle semicolon-separated tax lot ids on import
  • PR #1083: Added tax lot ids to the lot number
  • PR #1190: A default cycle is created with new organizations for convenience

Performance Enhancements

  • PR #993: Increased label filter max
  • PR #1001: Small UI Grid Improvements
  • PR #1019: Added organizations loading indicator, fixed performance bugs
  • PR #1154: Limit mapping review data to only mapped columns
  • PR #1181: Performance improvements to only return visible inventory columns
  • PR #1197: Convert the labels API to POST for unlimited query length

Defects Repaired

  • PR #977: Fixed label deletion #976
  • PR #981: Fixed report view #965
  • PR #983: Improvements to Selenium testing, fixed layout issue related to Selenium testing #982
  • PR #1003: Added Selenium test for building detail edits #953
  • PR #1032: Fixed Swagger loading
  • PR #1042: Fixed search service storage #1035
  • PR #1047: Detail view shows changes after update
  • PR #1055: Fixed broken tests
  • PR #1056: Fixed test typos
  • PR #1057: Fix to allow the lack of cycles
  • PR #1058: Fixed audit history view
  • PR #1060: Updated data cleansing to work with properties and tax lots
  • PR #1073: Fixed an issue where tax lot records were unnecessarily created
  • PR #1102: Fixed saving changes on inventory details
  • PR #1106 #1119: Only allow unique mapping suggestions #1085 #1090
  • PR #1109: Fixed mapping review to show both properties and tax lots
  • PR #1115: Fixed project count API endpoint
  • PR #1123 #1202: Fixed test failures
  • PR #1137 #1152 #1155: Fixed Portfolio Manager file import
  • PR #1140: Handle the case where no mapping suggestions exist
  • PR #1145: Convert unhandled Unicode characters to ASCII on import
  • PR #1158: Fixed code coverage reporting
  • PR #1169: Fixed obscure import error by continuing regardless
  • PR #1179: Refactored uploading via API to work as expected
  • PR #1185 #1188 #1201: Corrected tax lot address field names, among other display names
  • PR #1192: Database migration to fix uploaded file display names
  • PR #1205: Database migration to allow for unlimited length semicolon-separated jurisdiction tax lot id fields
  • PR #1216: Fixed a matching bug that didn't always use the correct organization

Under the Hood Restructuring

  • PR #1012: Cycles updates, m2m changes, v2.0 migrations
  • PR #1014: Major v2 changes
  • PR #1018: Major migrations, added primary tax lot indicator
  • PR #1026: Cleaned up bluesky references #1025
  • PR #1029: Initial v2 API revisions
  • PR #1046: Significant testing improvements
  • PR #1050: Additional API revisions
  • PR #1053: Mapping changes for the new data model
  • PR #1061: Initial matching refactor
  • PR #1063: Improved field name consistency
  • PR #1067: Process for migrating year_ending data
  • PR #1068: Additional data matching improvements
  • PR #1074: Updated the schemas to include the new field names
  • PR #1079: Migrated label location on the backend
  • PR #1080: Added project api views
  • PR #1081: Updated column migration for new data model
  • PR #1082: Updated backend dependencies
  • PR #1093: Updated mapping response to include both properties and tax lots
  • PR #1098: Major matching improvements
  • PR #1116: Updated mapping suggestions API endpoint
  • PR #1122: Updated import_files API endpoints
  • PR #1130 #1132 #1136 #1157 #1166: Additional v2 API endpoints
  • PR #1156 #1167: Normalized jurisdiction tax lot ids and lot numbers to make comparisons possible
  • PR #1175: Replaced deprecated dependency
  • PR #1209: Added pairing API endpoints

Known Issues

  • Hand matching and pairing of properties and tax lots is not yet available, but will be in the next patch update
  • #1225: Campus relationships are not being made in matching
  • #1223 #1222: Changes to boolean attributes cannot be saved
  • #1220: Changes to column position, visibility, and pinning made on the list view rather than settings do not get persisted
  • #1219: Mapping to all property or all taxlot columns results in empty data for the opposite inventory type
  • #1217: Under certain conditions, a 403 error can occur during automatic matching
  • #1215: With a large number of columns, mapping suggestions can be slow to load
  • #1213: Some fields that should be mapped are not
  • #1207: Mapping does not currently require one of the four required fields
  • #1172: Field display names can be inconsistent before and after mapping

Release 1.5.0

12 Jun 01:41
Compare
Choose a tag to compare

Pull Requests

  • PR #415: Issue #414 - Changing the way data is acquired for reports.
  • PR #774: Issue #772 - test data
  • PR #779: Issue #265 - Django 1.8
  • PR #789: Issue #492 - Exclude filters
  • PR #796: Issue #544 - Added Django timezone support
  • PR #834: Issue #809 - Remove Schema model
  • PR #842: Issue #836 - Remember page number when navigating around building list.
  • PR #854: Issue #13 - Delete organizations in admin panel
  • PR #864: Issue #840 - Sort building detail fields alphabetically by default.
  • PR #888: Issue #883 - Project export fix
  • PR #904: Issue #899 - Delete users without orgs on org delete.
  • PR #932: Issue #925 - Fix for newlines in mapping view.
  • PR #934: Issue #797 - building detail ui
  • PR #935: Issue #916 - Slow building filtering
  • PR #936: Issue #885 - Refresh columns during mapping step
  • PR #938: Issue #924 - Update json queries
  • PR #939: Issue #909 - Keep filter by label during navigation
  • PR #941: Issue #858 - Spinner during label save
  • PR #944: Issue #942 - Fix robots.txt view
  • PR #945: Issue #942 - Be strict about requiring organization_id
  • PR #949: Issue #947 - Upgrade django compressor
  • PR #951: Issue #943 - Fixes for api test
  • PR #957: Issue #942 - Handle iso datetimes from angular on date filter.
  • PR #969: Issue #966 - Building detail edit

Release 1.4.0

13 Mar 16:43
Compare
Choose a tag to compare

Pull Requests

  • PR #824: Issue #805 - Spinner fixes
  • PR #822: Issue #818 - Better logic for mapping column typeahead & regression fix
  • PR #816: Issue #804 - Fix for extra data order by results
  • PR #815: Issue #803 - Fix slow get_column_mapping_suggestions
  • PR #801: Issue #799 - Get unmatched view working on matching page.
  • PR #795: Issue #792 - AttributeOption.value larger field
  • PR #794: Rename Energy Star Score to Energy Score in data cleansing output
  • PR #783: 645 update data model docs
  • PR #780: Issue #776 - View buildings spinner
  • PR #771: fix unbound variable in buildings export view
  • PR #766: Clear labels on clear filters
  • PR #764: Issue #761 - Replace odd characters in address normalization
  • PR #758: Remove djorm-ext-expressions package
  • PR #757: Issue #752 - Remove ImportRecord.organization
  • PR #756: Data Cleansing Admin Settings
  • PR #755: update boto version
  • PR #754: Switch to supported django-storanges pypi package
  • PR #750: Issue #749 - Use fast password hasher during tests.
  • PR #748: Issue #747 - Speedup get_organization endpoint
  • PR #746: upgrade tox to 2.3.1 and do not clobber local_untracked
  • PR #745: Issue #547 - Clear filter button
  • PR #742: cleanup code
  • PR #741: Fix building deletion while filtering by label
  • PR #740: Issue #607 - Loading spinners
  • PR #739: Fixes for data export
  • PR #738: Cleanup building exporter class.
  • PR #737: Issue #686 - Send a working status if s3 file isn't ready.
  • PR #735: Issue #726 - Show role text for single owners.
  • PR #734: Issue #729 - Angular debug setting
  • PR #733: Issue #504 - Password notes
  • PR #725: Issue #578 - Matching page column reordering
  • PR #724: Issue #722 - Remove view/hide columns from mapping screen.
  • PR #720: Fix error when deleting buildings when label filter active
  • PR #717: Piper/issue 687 dont allow organizations to end up empty
  • PR #716: Add co_parent to list of invalid keys to show on building detail page.
  • PR #710: Fix updated building count
  • PR #708: Issue #577 - Building Detail show/hide/reorder columns
  • PR #706: Fix text reference to Custom ID 1 field
  • PR #704: Stop-gap solution for django-pgjson bug
  • PR #703: Trying to update the copyright again.
  • PR #700: Issue #577 - Url based tabs on building detail page.
  • PR #699: typecast value_list to list when serializing to celery
  • PR #689: Issue #581 - Matching dropdown should respect sessionStorage
  • PR #688: Issue #634 - Renaming data set fix
  • PR #685: Issue #432 - Custom celery JSON serializer to handle datetimes
  • PR #683: Issue #75 - Handle odd date format in excel dates.
  • PR #681: 655 updating copyright in config
  • PR #680: Update the add_buildings task to use the appropriate search/filtering logic
  • PR #676: Issue #581 - Add matched/unmatched filter to building list page
  • PR #675: Issue #515 - Building detail page edit labels
  • PR #671: Issue #595 - Catch invalid operator errors and return nothing.
  • PR #670: Issue #546 - Case insensitive match with carat symbol
  • PR #669: 432 pass primary keys
  • PR #668: Issue #651 - export buildings error
  • PR #664: Flake8 fixes for new pylint version
  • PR #663: Fix 500 error when fetching labels
  • PR #652: Refactored all directives except download to use 'sd' prefix

Release 1.3.2

13 Jan 14:33
Compare
Choose a tag to compare

Contains the following Pull Requests:

Release 1.3.1

10 Jan 18:01
Compare
Choose a tag to compare

Updated copyright notices

Release 1.3.0

Release 1.2.2

07 Oct 20:14
Compare
Choose a tag to compare

Reporting and Graphs

  • PR #400: This is the first implementation of the reporting page, which shows two configurable graphs in the Building section, under the new "Reports" tab. Three new methods were created on the backend (in views.py) to provide data to the charts on the client. Gathering the required data from the seed_buildingsnapshot table is somewhat involved as the charts need historical dat. We therefore can't rely just on the data captured in the last good canonical building, but instead must traverse the parents of the canonical building to gather historical data. (Issue #178)
  • PR #404: Even though the query initially run specifies a date range that is abandoned to walk the tree of a canonical building's parents. Since this is using the tree there may be some other records with no year_ending date. Added a check to ignore them from processing. This fixed some issues with graphs not being generated. (Issue #402)
  • PR #413: Added check to force any buildings with a gross_floor_area > 1 million to be put in the 'over 1,000k' bin. (Issue #410)
  • PR #415: Previously only got data from unmerged building snapshot records. Changed that to use only data from merged records (the current canonical building and previous canonical buildings). This ensures that the data being graphed represented the merged information from all relevant data sets (such as buildings lists and Portfolio Manager data merged into one building record / building snapshot record)
  • PR #416: Changed the reporting code to filter out canonical buildings where the 'active' property is set to false. This ensures that "deleted" buildings are not included in the data that is graphed. (Issues #406 & #412)
  • PR #403: Replaces static URL. Instead, now injecting urls object and
    using urls.static_url property to build URL.

Data Importing

  • PR #411: Fix the em-dash, n-dash in both excel and CSVs. (Issue #373)

Building List -- Filtering

  • PR #355: Update display counts for per page number (Issue #354)

Building List -- Control over field sort order and column width

  • PR #399: Fixing sort order problem for status column
  • PR #374: Fix resize columns (Issue #71)
  • PR #356: Adding directive to resize table columns, feature to sort table columns (Issue #71)

Data Cleansing

  • PR #398: Enabled cleansing date range checking (Issue #384). Also fixes CI.
  • PR #376: Data cleansing dialog
  • PR #353: Update celery to 3.1. enable celery results

Matching -- General

  • PR #394: When unmerging buildings, it was possible for the building to get left in an error state. In the case where the building which is being removed from a set of other builds happens to be the one that has the active canonical building (within the tree of building snapshots), then when that building snapshot is unmerged from the tree, it's canonical building will end up with no canonical snapshot. When this happens, it stops being returned in queries for buildings, and thus disappears from the front end. (Issue #386)
  • PR #391: Modified matching dialog message. (Issue #340)
  • PR #352: Matching detail screen show extra_data column content (Issue #345)

Matching -- Address Normalization

  • PR #389: Account for null values in the normalized connonical building address
  • PR #362: Address direction normalize (Issue #315)
  • PR #380: Normalize street type (Issue #378)

Admin / Account Management Features

  • PR #372: Change width for admin remove buildings (Issue #372)
  • PR #377: Added new SEED_ACCOUNT_CREATION_BCC setting and updated account invitation task to use it.
  • PR #368: Admin building and user count (Issue #324)

Portfolio Manager Web Services Connection

  • PR #369: Append partial list of PM Webservices field names to mapping json (Issue #364)

Misc

  • PR #379: Fixes pytest.ini to point to the correct DJANGO_SETTINGS_MODULE
  • PR #361: Remove WOOPRA config (Issue #90)
  • PR #351: Centralized caching - removes the vast majority of direct cache.set/cache.get calls, and centralized them in a new cache utility that standardizes format, functionality, and let's us easily debug any time the cache is modified.

Release 1.2.1

31 Aug 20:15
Compare
Choose a tag to compare

Version 1.2.1 of the SEED Platform addresses the following issues

  • Issue #332: In the Mapping screen, the BEDES column is no longer displayed, as it is no longer relevant (PR #341)
  • Issue #329: In the Mapping screen, the program automatically populates the SEED field names when importing ENERGY STAR Portfolio Manager data (PR #347)
  • Issue #325: In the Matching screen, the program now displays data that is contained in the Building Snapshot JSON Blob extra_data field (PR #335)
  • Issue #51: In the Matching screen, the radio buttons to select matched and unmatched records are changed to a pull down list, so the user can select from the following options to display data: "Select All", "Select Matched", "Select Unmatched". This allows display of all the records if desired. (PR #275)
  • Issue #318: Keep the number of records displayed the same when switching between Building List and Building Detail (PR #319 )
  • Issue #247: For data stored in the Building Snapshot JSON Blob extra_data field, if there is no data in the original data file, add that as "blank" data to the JSON Blob for that field. Previously, this blank data was not written into the extra_data field (PR #299)
  • Issue #243: Fixed the problem where the filtering was not working properly for Project Labels (PR #342)
  • Issue #83: When data is imported, the program now checks to see if the record already exists in the database (ie, it checks for duplicate records); duplicate records are not kept in the Building Snapshot table (PR #349)
  • Issue #67: Previously, in the Building Detail view, the program only displayed fields with data. Now the program shows all fields in the Building Snapshot field, whether they contain data or not, so that the user can see what is missing (PR #330)
  • Issue #45: Navigation bar settings (ie, either collapsed or expanded) are kept after a browser refresh (PR #300)
  • Issue # 44: Refresh the navigation bar results after mapping and matching to show the updated number of buildings (PRs #295, #304)
  • Issue #12: Program now persists the following between the Building List and Detail view: List Setting changes, Sorting criteria, Filtering criteria (PRs #222, #235)