NOLS API Release Notes
3.3.1 (2022-01-30)
- Fixed
analyze-duplicate-people
and underlying dupe analysis code
3.3.0 (2022-01-25)
- Added
updated_at
attribute to course views (to satisfy D365 every-5 minute data pull)
3.2.0 (2022-01-18)
- Added endpoint for Wild Med account line GET (to satisfy D365 every-5 minute data pull)
3.1.7 (2022-01-15)
- Reduced log warning messages
- Updated some documentation
3.1.6 (2022-01-07)
- Added file upload for performance evaluations (SPEs)
3.1.5 (2021-12-21)
- Fixed bug with WildMed online app
course_price
and course_price_description
- Added Travel Note for Staffing Coordinator
3.1.4 (2021-12-18)
- Reverted z3c.rml dependency
3.1.3 (2021-12-14)
- Bumped dependencies, including lxml for security issue
- Never released, due to issues with z3c.rml
3.1.2 (2021-12-01)
- Fixed bug with posting Deissue entries
- Removed abandoned DRF-Docs dependency
3.1.1 (2021-11-19)
- Added change notification prototype code
- Fixed bug such that work-agreement course href is expedition course, rather than core course
3.1.0 (2021-11-08)
- Added endpoint for searching history of merged person data
3.0.1 (2021-10-19)
- Bump django-rest-framework dependency
- Upgrade old OpenApi code
3.0.0 (2021-09-23) Breaking Changes
- Removed deprecated features (urls, resource fields, etc.)
2.24.1 (2021-09-22)
- New phones, emails now both default to
is_current=True
if no value is passed in
- Fixed bug with wm_sponsor field on wild med courses
2.24.0 (2021-08-27)
- Added data for work agreement travel logistics
2.23.3 (2021-08-18)
- Updated permissions for de-duplication work
2.23.2 (2021-07-20)
- Used quotes when setting password to allow real passwords
- Removed deprecated contracts
2.23.1 (2021-07-20)
- Removed use of abandoned phone field
calling_info_id
2.23.0 (2021-07-18)
- Updated model layer to track changes to phone table
- Added phone standardization
2.22.0 (2021-07-06)
- Added duplicate management endpoints
2.21.5 (2021-06-09)
- Fixed handling of null values in travel itineraries
- Allowed escaping '&' for data values
2.21.4 (2021-05-27)
- Fixed handling of null courses on old work agreements
2.21.3 (2021-05-24)
- Added show_travel_itinerary to CoreCourse
- Updated travel itinerary document for Alumni trip data
- Fixed bug with producing travel itinerary document
2.21.2 (2021-05-13)
- Removed NolsFloatField
- Added reciprocal relationship view
- Validated reciprocal relationship when creating a relationship
- Treat empty strings as null values for dates and datetimes
2.21.1 (2021-04-30)
- Replaced NolsFloatField in work agreement resources
- Replaced FloatField serializers with DecimalField serializers
2.21.0 (2021-04-01)
- Added courses/{id}/exp-work-agreements/ endpoint
- Deprecated courses/expedition/{id}/work-agreements/ endpoint
- Updated mismatch in max_length between Job model and OrganizationTab ie decrease max_length in the
API
2.20.2 (2021-03-19)
- Allowed application form write-ups to exceed one page
2.20.1 (2021-03-18)
- Fixed bug editing course admissions_officer
2.20.0 (2021-03-11)
- Migrated operation_location and type from expedition course to core course
2.19.1 (2021-03-05)
- Fixed appending document to legacy document
2.19.0 (2021-02-18)
- Made expedition application form endpoints actually work
- Added course-travel-itinerary endpoint
- Added course-documents endpoint
- Added application-entry-documents endpoint
- Added reset-course-document-caches endpoint
2.18.2 (2021-02-03)
- Fixed available_count logic for non wilderness medicine courses
2.18.1 (2021-01-07)
- Updated standard (U.S.) work agreement language
2.18.0 (2021-01-04)
- Removed all references to contracts
- Updated references to pyjwt package
2.17.2 (2020-12-10)
- Added rope-work-agreement endpoint
2.17.1 (2020-12-05)
- Updated resource manager to populate redundant wild med crypto field on wm-account-lines
- Marked derived field wm_course_id more properly as read-only for most resources
2.17.0 (2020-11-25)
- Added split-expedition-roster endpoint
2.16.1 (2020-11-23)
- Added received_at_full to MoneyReceived
- Updated MoneyReceivedManager to save received_at as utc_noon
- Modified query parser to allow escaped special characters
2.16.0 (2020-11-05)
- Added send-email and send-work-agreement-email endpoints
- Added nexus-preferences endpoint
- Updated authorization roles to match nexus
2.15.1 (2020-11-02)
- Added and deprecated some function endpoint methods to be consistent with HTTP idempotency and
more accurately specify their effect
- Enforced truncation of event log body to 4000 bytes
- Added 'Voice' back to phone-types
- Fixed my-lists issue with null values for editors and/or readers fields
2.15.0 (2020-10-16)
- Added update-password endpoint
- Added authorization role endpoints
- Shifted financial statement dates to US/Mountain
- Improved is_eligible_field_instructor result in instructor-info
2.14.0 (2020-10-12)
- Added course roster pdf endpoint
- Added mailing list endpoints
- Removed choice validation on ethnic_types UX considerations
2.13.1 (2020-10-01)
- Changed throttle behavior to ignore nested queries
2.13.0 (2020-09-24)
2.12.2 (2020-09-21)
- Fixed bug with incorrect username in finance resources when creating or updating expedition
applications
2.12.1 (2020-09-18)
- Removed choice validation on certain fields for UX considerations
2.12.0 (2020-09-01)
- Added nexus-roster endpoint
2.11.0 (2020-08-21)
- Added /post-money-received/ endpoint
- Improved validation logic for money received resources
- Updated processing of etag values to accommodate servers that use 'weak' markers
2.10.1 (2020-08-13)
- Added _expand and _fields to post/put/patch documentation
- Fixed printing diplomas for wild med expedition hybrid courses
- Added exp-app-policy-types value group
2.10.0 (2020-08-11)
- Added /courses/<id>/account-entries/ endpoint
- Added /account-entries/latest/ endpoint
- Added /money-recipient/ endpoint
- Fixed internal issue with 'filterid' field on wild med account lines resource
2.9.4 (2020-08-05)
- Made financial-transaction-detail-report honor input order
- _expand and _fields parameters now work with post/put/patch methods
2.9.3 (2020-07-28)
- Removed TPP paragraph from Financial Statement
2.9.2 (2020-07-27)
- Fixed issue with bad min/max website course tuitions
2.9.1 (2020-07-22)
- Fixed issue with exp-application status algorithm
2.9.0 (2020-07-09)
- Implemented exp-application create and update functionality
- Added fields to expedition applications for more general use
- Implemented best-phones and best-addresses
- Made best-emails consistent with other two
- Fixed nullable boolean fields
2.8.1 (2020-07-02)
- Exposed address.delivery_info_id for wild med legacy support
- Exposed phone.calling_info_id for wild med legacy support
- Fixed some courses/website decimal field formatting
2.8.0 (2020-06-24)
- Replaced NolsFloatField references in course resources
- Added email standardization
- Consolidated authorization code between core_db and portal contexts
- Implemented unconnected user and shared user concepts in portal authorization
- Implemented PortalInteraction resource
2.7.0 (2020-06-02)
- Implemented AccountEntry resource
- Implemented MoneyReceived resource
- Refactored ExpeditionApplication resource
- Migrated most float fields to decimal fields
- Implemented all remaining financial reports
- Made authorization filtering logic more flexible
- Added new finance authorization roles
- Included authorization roles (not db roles) in access token
2.6.6 (2020-05-26)
- Added address standardization docs
- Made address standardization consistent with phone standardization
- Get PORTAL_SCHEMA setting from secrets
2.6.5 (2020-05-18)
- Updated work agreement pdf to give the note field more room
- Updated course and incident model fields to match database name changes
2.6.4 (2020-04-27)
- Removed work agreement transition code
2.6.3 (2020-04-25)
- Improved speed of person search
2.6.2 (2020-04-23)
- Updated incident resource
- Added tuition_due_date to CoreCourse resource
- Move work agreement trigger logic to the model and manager
2.6.1 (2020-04-20)
- Added some padding to the note field in work agreement pdfs
- Improved NolsStringListField
- Updated admissions report signatures
- Implemented true decimal numbers (not floats)
2.6.0 (2020-04-09)
- Deprecated Contract and replaced with WorkAgreement. This includes WorkAgreementFieldPay,
WorkAgreementOtherPay, WorkAgreementStatus.
- Replaced EXP_CONTRACT permission with EXP_WORK_AGREEMENT
2.5.1 (2020-04-08)
- Deprecated some unneeded endpoints
- Fixed custom field for all-cap country names
- Allow diploma pdf for separated students
- Fixed Skill_Certificate missing from template list
- Fixed bug where batch address labels have same address
2.5.0 (2020-03-24)
- Added financial transaction letters
- Implemented functional endpoint to retrieve expedition application policies
2.4.2 (2020-03-17)
- Moved authorization from logic-based to table-based
- Raise error on duplicated meta tags
- Included Guardian and Stepparent when gathering emergency contacts
- Added IP address to deprecation message
2.4.1 (2020-03-11)
- Fixed bug with instructor potential weeks calculation
2.4.0 (2020-02-29)
- Added financial transactions (FTRs) and related reports
- Added sponsor-types value list
- Changed permissions for Not Work With relationship
2.3.1 (2020-02-25)
- Improved nested query efficiency
- Fixed order by resource relation
- Explicit handling of rate limiting when using _expand parameter
2.3.0 (2020-02-21)
- Added custom model list field
- Added _max_rows meta field
- Updated ALLOWED_HOSTS settings for fall-over IP address
- Updated code formatting rules (import layout)
2.2.0 (2020-02-19)
- Added expedition application policies
- Fixed values/all-groups/ response specification
- Fixed redundant token information
- Added 'none' value to _order field to explicitly skip sorting
- Added application fields back onto person (for now)
- Fixed docker container for Python 3.7
2.1.3 (2020-01-23)
- Improved error message for bad query attempts
- Improved speed of list queries (more efficient sorting)
- Added application read permission to base user
- Added db patch check on startup
2.1.2 (2020-01-14)
- Changed cache mechanism from LocMemCache to MemCached
- Added row-level filtering in views instead of database
- Made compatible with Python 3.8
2.1.1 (2020-01-12)
- API now using Python 3.7 on backend
- Changed uWSGI configuration to improve stability
2.1.0 (2020-01-03)
- Improved OpenApi schema generation
- Added search-fields endpoints
- Improved error messages for nested queries
- Cleaned up Django model custom fields
- Added 'q' short version of 'query'
- Made using search_* fields in queries consistent with same fields in response
- Made using sounds_like_last field in queries much simpler
2.0.1 (2019-12-21)
- Changed course default sort implementation
- Optimized course tuition assignment
2.0.0 (2019-12-09) Breaking Changes
- Removed deprecated features (urls, resource fields, old query language)
1.23.3 (2019-12-02)
- Added documentation for api JSON conventions
- Fixed error handling of bad contract start or end dates
- Improved error message for datetime fields with no time information
1.23.2 (2019-11-25)
1.23.1 (2019-11-20)
- Added wilderness medicine application status validation
- Properly configured ALLOWED_HOSTS for our DNS dance
- Obfuscated the Django admin URL
1.23.0 (2019-11-14)
- Implemented OpenApi3 schema generation (and documentation)
- Refactored chunks of code to support new schema
- Upgraded to nols-util 4.0
- Added donations
- Fixed wilderness medicine course authorization for some users
- Removed updated_at field from course resources
- Added logging of deprecated endpoints and fields
1.22.2 (2019-09-26)
- Updated New Zealand contract language
- Updated financial aid advisor signature
- Fixed Django ORM duplicate bug (occasionally on paged, ordered result sets)
1.22.1 (2019-09-19)
- Fixed CORS configuration for Spree project
1.22.0 (2019-09-19)
- Upgraded Django to 2.2.x
- Upgraded cxOracle to 7.2.x
1.21.1 (2019-08-01)
- Added capacity and over_enroll fields to daily-course-enrollment resource
1.21.0 (2019-07-29)
- Added django-nols-drcp package to manage connection pooling (forked from django-oracle-drcp)
- Configured New Relic load failure to send an email
1.20.1 (2019-07-16)
- Temporarily disable New Relic while we investigate issues with Oracle database-resident connection
pooling (DRCP)
1.20.0 (2019-07-16)
- Ported non-financial report code from nols-web-api
- Removed api dependencies from nols_db module
- Worked around cx_Oracle bug determining float vs Decimal
1.19.1 (2019-06-27)
- Fix
is_production
bug caused by changing database name
1.19.0 (2019-06-27)
- Use database-resident connection pooling for DB connections
1.18.0 (2019-06-12)
- Implemented POSIM information endpoint
- Implemented login whitelist
- Implemented locked account notification
1.17.0 (2019-05-23)
- Made CORS whitelist servers more specific
- Implemented Python type checking in business logic
- Made manual/managed classification distinction explicit
- Added more fields to courses/website resource
- Deprecated a bunch of fields in courses resource
- Added person wild-med-info resource
1.16.1 (2019-05-20)
- Bug fix for evaluations of combo (expedition/wild med hybrid) courses
1.16.0 (2019-05-14)
- Implemented course tuition resource
- Implemented wild med course website info resource
- Implemented wild med application actions resource
- Implemented 'courses for a specific person' endpoint
- Added list of tuitions, min tuition and max tuition to courses/website resource
- Trim leading/trailing whitespace for all string fields before storing
1.15.0 (2019-04-30)
- Implemented nested querying on course endpoints
- Increased length of wm-application.note
- Added age and name_sort to people resource
- Added name_sort to exp-applications
- Moved deposit from expedition courses to core courses
- Deprecated - changing in v2.x
- courses/website.description (now title)
- courses/website.reservations_female (now female_reservation_count)
- courses/website.reservations_male (now male_reservation_count)
- courses/website.space_available (now available_count)
1.14.1 (2019-04-29)
- Granted read/write/update permissions on notification-message for website users.
1.14.0 (2019-04-04)
- Added emergency-contact-info endpoint
- Added best-emails endpoint
- Integrated IntelligentSearch address correction service with saving/updating addresses
- Migrated gender reservation counts from expedition courses to core courses
1.13.0 (2019-03-02)
- Fixed bug with course-issue permissions for course creators who aren't season managers
- Added RMT and RMTR to courses/website endpoint
- Added course_name to wm-applications
- Deprecated - changing in v2.x
/people/<name-format>
is now /people-custom-name/<name-format>
/people/<id>/<name-format>
is now /people-custom-name/<id>/<name-format>
1.12.0 (2019-02-19)
- Added customizable address formatting
- Added standardization_attempted_at to address
- Incorporated code from new (v2.0) nols-util package
- Deprecated - changing in v2.x
- Renamed more endpoints (see note above)
1.11.2 (2019-02-11)
- Fixed address bug where is_international is always True
1.11.1 (2019-02-01)
- Bumped Django version to support Python 3.7
- Fixed address formatting bug
1.11.0 (2019-01-14)
- Fixed bug with query exact match on date
- Fixed bug where some foreign key updates were ignored
- Implemented NOLS addresses
- Added formatted value to addresses
- Changed representation of wm_course_id from integer to string
- Implemented wild med student rosters
- Implemented expedition student rosters
- Implemented normalized name searches
- Removed references to database values (event log types, gender, countries)
- Split courses endpoint
- /courses/core/ returns core course information
- /courses/expedition/ endpoint returns expedition course information
- /courses/wild-med/ endpoint returns wilderness medicine course information
- Deprecated - changing in v2.x
- /courses/ endpoint returning expedition information: will return core information
- address.state (now address.region)
1.10.1 (2019-01-08)
- Prevented editing of address-linked phones
1.10.0 (2018-12-11)
- Implemented wild med online application resource
- Improved speed of phone methods
- Second pass at reservations, course issues, notification messages
1.9.2 (2018-11-16)
- Removed default sort for course resource
- Added separator in country value list
- Memoized model endpoints
- Fixed classification-types bug
- Fixed wild med application creation bug
1.9.1 (2018-10-30)
- Improved error message for throttling errors
- Validate Tax Home certification
1.9.0 (2018-10-18)
- Implemented course reservation expiration
- Allow delete for system admins on event log, reservation and notification message
1.8.0 (2018-10-17)
- Adjusted throttling rates for webclient user
- Implemented course reservations
- Implemented course issues
- Implemented person nested resource counts
- Implemented wild med roll call resources
- Implemented wild med application resource
- Implemented wild med account line resource
- Deprecated - removing in v2.x
- contract.email_date (now emailed_at)
- contract.decline_date (now declined_at)
- email.status (now is_current)
- phone.status (now is_current)
1.7.0 (2018-08-14)
- Implemented notification message create/update
- Implemented mailing events
- Implemented employment history
- Fixed contract permissions for season managers
- Made all created_by and updated_by fields lowercase
- Improved address validation messages
- Fixed bug with some phone types
- Deprecated - removing in v2.x
- address.locked
- name.active (now is_active)
- address.standardized, address.preferred (now is_standardized, is_preferred)
- phone.linked_to_address (now is_linked_to_address)
- lots of boolean field names on incidents
1.6.0 (2018-07-02)
- Implemented daily course enrollments
1.5.0 (2018-06-08)
- Added contract read base employee permissions
- Fixed bug with null username or password on login
- Added more contract derived info (course_name, person_name, etc) and sensible default values
- Removed unused types from ../values/all-types/
1.4.0 (2018-05-15)
- Implemented rate limiting (throttling)
- Implemented relationships
- Filtered course and contract status value lists
- Made some contract fields (contract_days, total_field_days, field_weeks) derived
- Filtered relationships by 'Not Work With' value
1.3.0 (2018-05-06)
- Fixed bug in database/django handling of courses with null start dates
- Implemented course create/update/delete
- Implemented contract create/update/delete
- Enforced aud and iss claims in API access tokens
- Avoided GitHub install of lark-parser
1.2.1 (2018-04-27)
- Enforced course status filter
1.2.0 (2018-04-22)
- Improved query language to handle complex operations (and/or)
- Created Super Person Search
- Removed python2 compatibility code
- Added aud and iss claims to API access tokens
- Updated Python packages
- Initial work on wilderness medicine oracle tables
- Deprecated - removing in v2.x
- previous query string language
1.1.3 (2018-04-02)
- Fixed bug with outreach sponsor courses missing in ../courses/website/
1.1.2 (2018-03-21)
- Implemented visas resource
- Started using semantic versioning
- Implemented release notes
- Improved query error message
- Added age_at_start to contract-info resource
- Removed _api_key functionality
2016-04 to 2018-03
- Lots of work, but no release notes...