v0.1.0
Automated release from PR #304.
Previous tag: v0.0.0
Bump type: minor
What's Changed
- Bump gunicorn from 20.1.0 to 22.0.0 in /app by @dependabot[bot] in #1
- Bump sqlparse from 0.4.4 to 0.5.0 in /app by @dependabot[bot] in #2
- added BaseModel, Locality models by @karilint in #3
- Added new models by @fraciah in #4
- Update models by @fraciah in #5
- feat: Add models and import-export functionality in admin by @karilint in #6
- fixes by @karilint in #7
- Modify models by @fraciah in #8
- Added several import/export functionalities to Admin by @karilint in #9
- Import export by @karilint in #11
- Front end styling by @Namwonja in #10
- Changed views.py, urls.py, fieldslipform.html,fieldsliplist.html by @Namwonja in #12
- Allauth by @karilint in #13
- modified: app/cms/forms.py by @Namwonja in #14
- Bump pyjwt from 2.3.0 to 2.4.0 in /app by @dependabot[bot] in #15
- Bump urllib3 from 1.26.8 to 1.26.19 in /app by @dependabot[bot] in #16
- Bump requests from 2.27.1 to 2.32.2 in /app by @dependabot[bot] in #17
- Bump idna from 3.3 to 3.7 in /app by @dependabot[bot] in #18
- Bump oauthlib from 3.2.0 to 3.2.2 in /app by @dependabot[bot] in #19
- Bump django from 4.1.13 to 4.2.16 in /app by @dependabot[bot] in #21
- Fix code scanning alert no. 1: Clear-text logging of sensitive information by @karilint in #20
- Two new Models by @karilint in #22
- Models by @karilint in #23
- Login using allauth templates by @Namwonja in #24
- EDITED models.py,admin.py and resources.py by @nicahgaturi in #25
- Bump django from 4.2.16 to 4.2.17 in /app by @dependabot[bot] in #26
- Added Subject to admin by @karilint in #27
- modified fieldslip_list & accession_list Table and added some allauth… by @Namwonja in #28
- First version of accession details by @karilint in #29
- Bump django from 4.2.17 to 4.2.18 in /app by @dependabot[bot] in #30
- Updates to the media model by @karilint in #31
- Add accession media by @karilint in #32
- Accessions and references by @Namwonja in #33
- add accession row by @Namwonja in #34
- Accession references by @karilint in #35
- added accession row detail page by @Namwonja in #36
- Specimen suffix by @karilint in #37
- Nature of specimen by @karilint in #38
- Basic form template by @karilint in #39
- Main form to all form templates by @karilint in #40
- Bump django from 4.2.18 to 4.2.20 in /app by @dependabot[bot] in #42
- Model changes by @karilint in #41
- Accession fieldslip model by @karilint in #44
- Mobile view for field slip, accession and reference by @Namwonja in #43
- Bump gunicorn from 22.0.0 to 23.0.0 in /app by @dependabot[bot] in #45
- Preparations model by @karilint in #46
- Created Accession filtering by @karilint in #47
- modified views for preparation by @Namwonja in #48
- CSS for templates by @Namwonja in #49
- Added locality & css by @Namwonja in #51
- Bump django from 4.2.20 to 4.2.21 in /app by @dependabot[bot] in #50
- Modify the accession model by @karilint in #52
- Fix nested class in views by @karilint in #62
- Fix localitys typo by @karilint in #63
- Fix ValueError string formatting by @karilint in #64
- Fix media format help text by @karilint in #65
- Add tests for accession series utility by @karilint in #66
- Remove geological_context_type from SpecimenGeology resources by @karilint in #69
- Add admin flat file import by @karilint in #67
- Add reference list filters and role-based edit links by @karilint in #71
- Add filterable FieldSlip list by @karilint in #73
- Added pagination and removed search functionality by @Namwonja in #72
- Bump django from 4.2.21 to 4.2.22 in /app by @dependabot[bot] in #59
- Bump requests from 2.32.2 to 2.32.4 in /app by @dependabot[bot] in #60
- Bump urllib3 from 1.26.19 to 2.5.0 in /app by @dependabot[bot] in #61
- Implement filtering and permissions on localities by @karilint in #74
- Fix duplicate fields in form by @karilint in #75
- Enable editing of accessions by @karilint in #76
- Refactor URL naming by @karilint in #77
- Accession wizard by @karilint in #78
- Adjust accession templates for normal users by @karilint in #79
- Locality changes by @Namwonja in #80
- Fix locality list clear button URL by @karilint in #81
- Add import/export to PreparationMaterial admin by @karilint in #82
- Enable import/export on Preparation admin by @karilint in #83
- Add preparator landing page by @karilint in #84
- Add inventory session start page by @karilint in #85
- feat: add inventory session tracking by @karilint in #86
- Add specimen scanning to inventory sessions by @karilint in #87
- Removed a duplicate filter from the Locality list by @karilint in #88
- Add drawer register model and management UI by @karilint in #89
- Limit dashboard lists to 10 entries by @karilint in #91
- Fix navigation bar overflow by @karilint in #92
- docs: add guides for localities, references, preparations by @karilint in #93
- Restrict unpublished accession visibility and document user rights by @karilint in #94
- Add Place model with import/export and hierarchy by @karilint in #95
- Add Places management interface by @karilint in #96
- Display place geographies and validate place imports by @karilint in #97
- feat: add django-simple-history by @karilint in #98
- Use history tracking for DrawerRegister by @karilint in #99
- Remove PreparationLog in favor of simple history by @karilint in #101
- Refactor history display and enhance drawer change log by @karilint in #102
- Add priority ordering and drag-and-drop to Drawer Register by @karilint in #103
- Add scanning workflow for drawer registers by @karilint in #90
- Add HistoricalScanning migration by @karilint in #104
- Add SQLite fallback for database connection by @karilint in #105
- Add historical tracking for unexpected specimens by @karilint in #106
- Fix Drawer Register drag-and-drop priority by @karilint in #107
- Add scan intake upload and watcher by @karilint in #108
- Bump django from 4.2.22 to 4.2.24 in /app by @dependabot[bot] in #109
- Add OCR processing and admin trigger by @karilint in #110
- ChatGPT prompt modifications by @karilint in #111
- Update media location when OCR processing fails by @karilint in #112
- Create Accessions from OCR results by @karilint in #113
- Align navigation with user permissions by @karilint in #114
- Add user documentation for scanning workflow by @karilint in #115
- Improve accession workflows and reference sorting by @karilint in #116
- Make accession identification reference selectable via Select2 by @karilint in #117
- Group key place and locality details by @karilint in #118
- Add help text to CMS models by @karilint in #119
- Add media QC workflow tracking and logging by @karilint in #120
- Add QC transition workflow for OCR media by @karilint in #121
- Handle QC date serialization and document intern flow by @karilint in #122
- Add expert media QC wizard with approval workflow by @karilint in #123
- Add draggable row management for QC workflow by @karilint in #124
- Ensure qc rows controller waits for Stimulus by @karilint in #125
- Handle field slips without a field number during QC approval by @karilint in #126
- Limit intern drawers and auto-complete scans by @karilint in #127
- Fix scan upload timezone conversion by @karilint in #129
- Fix upload processing timezone awareness by @karilint in #130
- Add QC summary diff helpers and enforce warning acknowledgements by @karilint in #131
- Add reference creation tools and update QC identification summary by @karilint in #132
- Updated Docker prod environment settings by @karilint in #134
- Bump django from 4.2.24 to 4.2.25 in /app by @dependabot[bot] in #133
- Enhance media QC dashboard and notifications by @karilint in #135
- Add media QC history view and inline history panels by @karilint in #136
- Refine OCR queue to retry sequentially by @karilint in #137
- Restrict intern queue to OCR-complete media by @karilint in #138
- Ensure QC wizards include Select2 media assets by @karilint in #139
- Hide QC delete checkboxes for QC formsets by @karilint in #140
- Enhance OCR progress reporting with filenames and totals by @karilint in #141
- Limit OCR accession row imports to first 50 suffixes by @karilint in #142
- Add scan upload size validation and aligned proxy limits by @karilint in #143
- Ensure upload scan form resyncs files before submission by @karilint in #144
- Prompt changes by @karilint in #145
- Track OpenAI usage data in OCR pipeline by @karilint in #146
- Add persistent LLM usage tracking for OCR processing by @karilint in #147
- Add staff ChatGPT usage reporting view by @karilint in #148
- Handle OCR quota errors and add usage estimates by @karilint in #149
- Add merge framework scaffolding and permissions by @karilint in #150
- Implement merge engine with audit logging by @karilint in #151
- Enhance merge relation handling by @karilint in #152
- Add admin merge candidate search API and UI by @karilint in #154
- Integrate merge workflow into admin for mergeable models by @karilint in #155
- Refine merge strategy resolution and add coverage by @karilint in #156
- Add merge engine integration tests and admin documentation by @karilint in #157
- Guard admin merge tooling behind feature flag by @karilint in #158
- Register merge models and stabilise merge candidate search by @karilint in #159
- Adjust QC summary layout and surface field slip preview by @karilint in #160
- Refine development documentation structure by @karilint in #161
- Allow experts to complete intern QC review by @karilint in #162
- Add accession links to reference detail list by @karilint in #163
- Add delete controls to QC reference cards by @karilint in #164
- Document CMS template and CSS inventory by @karilint in #165
- Update codex prompt with front-end standards by @karilint in #166
- Update coding prompt template with semantic HTML guidance by @karilint in #167
- Document CMS template dependencies for upcoming refactor by @karilint in #168
- media reports by @karilint in #153
- Version 20251015 by @karilint in #169
- Add environment setup documentation for local and production use by @karilint in #171
- Add taxonomy metadata fields and import logging scaffolding by @karilint in #170
- Implement NOW taxonomy sync service layer by @karilint in #172
- Align taxonomy forms and filters with NOW schema by @karilint in #174
- Fix taxonomy sync admin URLs without breaking existing reverses by @karilint in #175
- Remove legacy Taxon name and rank fields by @karilint in #176
- Accession reports by @nicahgaturi in #177
- docs: record CMS layout dependencies before W3 refactor by @karilint in #178
- Revamp navigation bar with accessible dropdown by @karilint in #179
- Add W3.CSS replacement audit for custom styles by @karilint in #180
- Align W3 CSS doc timestamps by @karilint in #181
- feat: add manual QC import utilities by @karilint in #182
- Optimize accession detail data loading by @karilint in #183
- Add geological time support to Locality by @karilint in #184
- Add documentation for nav-dropdown stretch alignment by @Copilot in #186
- Align navigation bar layout by @karilint in #185
- Add Copilot instructions for repository by @Copilot in #188
- Add responsive width constraint for main content on large screens by @Copilot in #189
- Bump django from 4.2.25 to 4.2.26 in /app by @dependabot[bot] in #190
- Add audit notes for development prompt docs by @karilint in #191
- Refactor accession detail layout with responsive grid and accessible media preview by @Copilot in #193
- Add accession detail view structure documentation by @karilint in #192
- Add GitHub Copilot instructions following best practices by @Copilot in #197
- Add Field Number filter to FieldSlip filterset by @Copilot in #195
- Add Field Number filter to FieldSlip filterset by @karilint in #194
- Improve element and identification forms UX, add edit capability, and enhance detail page by @Copilot in #198
- Enable Element & Identification editing; reorder specimen form fields and highlight latest identification by @Copilot in #199
- Enable editing for Elements & Identifications; reorder specimen form and apply W3.CSS highlighting by @Copilot in #200
- Code review feedback on AccessionRowPrintView implementation by @Copilot in #202
- Add AccessionRowPrintView context data by @karilint in #201
- Fix accession preview panel permission context and restrict accession row visibility by @karilint in #203
- Fix DrawerRegister export to use taxon_name field by @Copilot in #205
- Fix DrawerRegister export taxon names by @karilint in #204
- Add localities and taxa display to DrawerRegister detail view by @Copilot in #207
- Fix DrawerRegister taxon queryset construction by @karilint in #206
- Handle duplicate accession links in FieldSlip merge workflow by @Copilot in #209
- Add FieldSlip merge workflow analysis by @karilint in #208
- Fix inefficient database queries in FieldSlipDetailView by @Copilot in #211
- Prefetch accessions for field slip detail view by @karilint in #210
- Adjust W3 modal z-index above Select2 overlays by @Copilot in #213
- Adjust W3 modal z-index above Select2 overlays by @karilint in #212
- Code review feedback on expert QC reference delete feature by @Copilot in #215
- Add expert QC reference analysis by @karilint in #214
- Provide code review feedback on accession number series PR by @Copilot in #217
- Document accession number series components by @karilint in #216
- Fix ORCID logo filename and invalid CSS class in auth templates by @Copilot in #219
- Add auth template audit notes by @karilint in #218
- Merge developer docs directories by @Copilot in #221
- Merge developer docs directories by @karilint in #220
- Document accession wizard specimen number handling by @Copilot in #223
- Document accession wizard audit by @karilint in #222
- Document change log template audit by @karilint in #224
- Add audit summary for identification taxon fields by @Copilot in #227
- Add audit summary for identification taxon fields by @karilint in #226
- Code review completed: template duplication and test coverage improvements recommended by @Copilot in #229
- Add small print variant for accession rows by @karilint in #228
- Implement organisation-based accession number series by @Copilot in #231
- Document accession number series insertion points by @karilint in #230
- Document dashboard collection manager controls by @Copilot in #233
- Document dashboard collection manager controls by @karilint in #232
- Hide comments from anonymous users and improve accession/locality detail UX by @Copilot in #235
- Add inspection notes for accession detail view by @karilint in #234
- Add per-field merge selection strategy with staff UI by @Copilot in #237
- Add merge architecture overview by @karilint in #236
- Implement multi-source admin merge orchestration by @Copilot in #239
- Add merge admin flow analysis by @karilint in #238
- Bump django from 4.2.26 to 4.2.27 in /app by @dependabot[bot] in #240
- Bump urllib3 from 2.5.0 to 2.6.0 in /app by @dependabot[bot] in #241
- Code review completed for taxonomy handling in manual import by @Copilot in #243
- Document identification payload taxon handling in manual import by @karilint in #242
- Add DRY principle guidance to prompt docs by @karilint in #244
- Add field slip merging capability to accession detail view by @Copilot in #247
- Update views.py by @karilint in #246
- Add accession field slip merge view by @karilint in #245
- Fix information exposure and import ordering in merge views by @Copilot in #250
- Add analysis for Element merge preparation by @karilint in #249
- Fix CheckConstraint deprecation warning for Django 5.2 by @Copilot in #252
- Upgrade Django to 5.2 and refresh prompts by @karilint in #251
- Bump django from 5.2 to 5.2.9 in /app by @dependabot[bot] in #253
- Review coding prompt documentation for completeness by @Copilot in #255
- Add review notes to coding prompt documentation by @karilint in #254
- Handle labeled body parts per specimen suffix by @Copilot in #257
- Handle labeled body parts per specimen suffix by @karilint in #256
- Add AccessionReference merge support with field selection and same-accession validation by @Copilot in #259
- Add AccessionReference merge discovery notes by @karilint in #258
- Add helper for accession reference merge field selection by @Copilot in #261
- Add helper for accession reference merge field selection by @karilint in #260
- Add edit flow for accession reference pages by @Copilot in #263
- Add edit flow for accession reference pages by @karilint in #262
- Bump urllib3 from 2.6.0 to 2.6.3 in /app by @dependabot[bot] in #266
- Add accession reference merge reuse analysis by @karilint in #265
- Add delete confirmation for accession row Elements (NatureOfSpecimen) by @karilint in #267
- Right-align Elements header actions by @karilint in #268
- Add specimen list PDF ingestion implementation plan by @karilint in #269
- Add specimen list page classification plan by @karilint in #270
- Bump django from 5.2.9 to 5.2.11 in /app by @dependabot[bot] in #272
- Add specimen list OCR staging models with history and migration by @karilint in #271
- Add review status and reviewer lock to SpecimenListPage with history and tests by @karilint in #273
- Potential fix for code scanning alert no. 35: URL redirection from remote source by @karilint in #274
- Potential fix for code scanning alert no. 36: URL redirection from remote source by @karilint in #275
- Potential fix for code scanning alert no. 37: URL redirection from remote source by @karilint in #276
- Codex-generated pull request by @karilint in #277
- Add implementation-ready plan for tooth-marking OCR integration by @karilint in #278
- Bump torch from 2.5.1+cpu to 2.7.1+cpu in /app by @dependabot[bot] in #279
- Fix torch CPU dependency mismatch in tooth-marking requirements by @karilint in #280
- Bump sqlparse from 0.5.1 to 0.5.4 in /app by @dependabot[bot] in #281
- TM-001: Add Torch 2.8+ CPU feasibility check and hold upgrade by @Copilot in #283
- TM-001: Add Torch 2.8+ CPU feasibility check and hold upgrade by @karilint in #282
- Automate prod releases and surface app version in UI by @karilint in #284
- Prod by @karilint in #285
- 20260216 release:minor by @karilint in #286
- Fix filtered list pagination to preserve query parameters by @Copilot in #288
- docs: audit filtered pagination query-string persistence by @karilint in #287
- Fix UnboundLocalError when saving new specimen list review rows by @karilint in #289
- Add comprehensive unit tests for side/portion inference logic by @Copilot in #291
- Codify canonical side/portion token rules for specimen review approval by @karilint in #290
- Add FieldSlip authority models and structured provenance fields by @karilint in #292
- Fix PEP 8: missing blank line between top-level definitions in views.py by @Copilot in #294
- Add canonical FieldSlip sedimentary field contract and document UX placement by @karilint in #293
- Review: Field Slip OCR/QC delivery (FS-002–FS-006) by @Copilot in #296
- Plan field slip OCR JSON extraction and QC approval workflow by @karilint in #295
- Merge pull request #286 from nmkpaleo/main by @karilint in #297
- Major release v1.0.0 by @karilint in #298
- Enable pytest-django and configure pytest settings; update docs snapshots by @karilint in #299
- Defer Django setup in root conftest.py and isolate legacy app.cms aliasing by @karilint in #300
- Use pytest-django DB fixtures instead of custom overrides by @karilint in #301
- Fix YAML parsing error in release-on-prod-merge workflow by @karilint in #302
- Merge pull request #298 from nmkpaleo/main by @karilint in #303
- 20260226 release by @karilint in #304
New Contributors
- @dependabot[bot] made their first contribution in #1
- @karilint made their first contribution in #3
- @fraciah made their first contribution in #4
- @Namwonja made their first contribution in #10
- @nicahgaturi made their first contribution in #25
Full Changelog: https://github.com/nmkpaleo/nmk-cms/commits/v0.1.0