- Fix uploading archives
- Improve error messages from failed S3 operations
- Always strip leading / from S3 keys
- Update to aws-sdk-go-v2
- Add runtime.Runtime to hold config, DB and S3
- Update to latest gocommon
- Re-add config option to force path style urls in S3, use minio to emulate S3 for testing
- Update AWS/S3 config
- Update dependencies
- Test against PostgreSQL 15
- Update deps
- Use std lib errors
- Add support for status=READ
- Remove flows_flowrun.submitted_by
- Replace logrus with slog
- Update to go 1.22 and update deps
- Update dependencies
- Fix deleting of broadcasts so we don't include deleted scheduled broadcasts
- Allow disabling of hash checking
- Fix checking S3 uploads so that we always check size but only check hash for files uploaded as single part
- Update to go 1.21
- Add support for optin type messages
- Update deps and go version for CI
- Update to go 1.20
- Update .gitignore
- Fix release CHANGELOG generation
- Remove deleting of channel logs as these are no longer linked to messages
- Revert to go 1.19
- Match API and always return type=text|voice for messages
- Update dependencies and use go 1.20
- Update test database schema and cleanup sql queries
- Add support for msg_type = T
- Don't try to delete broadcast URNs which no longer exist
- Delete old flow starts after deleting runs
- Only fetch broadcasts which don't have messages
- Remove use of deprecated ioutil package
- Update testdb.sql to reflect schema changes and cleanup sql variables
- Test against postgres 14
- Use go 1.19
- Allow AWS Cred Chain
- Include rollups in monthlies failed metric as well as monthlies created from scratch
- Change query used to update rollup_id on dailies
- Remove temporary logging
- Add temporary additional logging
- Replace ExitOnCompletion config option with Once which makes it run once and exit
- Improve librato analytics and add tests
- Rework stats reporting
- Log version at startup
- Fix parsing start times after midday
- Don't log entire run JSON on error, just UUID
- Make archival happen at configured start time even on first pass
- Add librato analytics for time elapsed and number of orgs, msgs and runs
- Update to go 1.18 and upgrade dependencies
- Add support for Msg.visibility=X (deleted by sender)
- Add arm64 as a build target
- Tweak README
- Stop setting delete_reason on runs before deletion
- Stop updating msgs_msg.delete_reason which is no longer needed
- Record flow on msgs
- Remove deletion of recent runs as these are no longer created
- Use run status instead of is_active and exit_type
- No longer include events in run archives
- Remove references to flowrun.parent_id which is no longer set by mailroom
- Remove msgs_msg.response_to_id
- Test on PG12 and 13
- Limit paths in archived runs to first 500 steps
- Use go 1.17
- 6.4.0 Release Candidate
- Don't try to load org languages
- Bump CI testing to PG 11 and 12
- 6.2.0 RC
- log next day even when not sleeping
- Fix next archive building calculation
- Clean up archive file if there is a problem while uploading to s3 or writing to DB
- Fix NPE when out of disk space
- Update README
- Add switch to specify start time of archival builds (thanks resistbot)
- Add switch to exit on build completion (thanks resistbot)
- 5.6.0 Release
- 5.4 Release
- Sync release with RapidPro 5.2
- Add PostgreSQL 11 tests
- update table references according to v5.2 schema, use wrapf for errors
- remove reading is_test on contact
- up max connections to two since we need cursor when deleting broadcasts
- delete broadcasts which no longer have any active messages
- fix travis deploy
- IMPORTANT: you must make sure that all your purged broadcasts have been archived before removing the recipients table (in RapidPro release)
- remove archival of purged broadcasts in preparation of removal of recipients table
- IMPORTANT: you must make sure that all your purged broadcasts have been archived before removing the recipients table (in RapidPro release)
- remove archival of purged broadcasts in preparation of removal of recipients table
- convert to go module
- add testing for pg 10
- properly archive surveyor messages
- give ourselves up to 3 hours per archive deletion, 15 mins per transaction
- add uuid to run archives
- 1.0 release
- be more specific in our reference to modified_on
- add modified-on to message archives
- make sure sent status is written for messages
- fix run.values export format
- add submitted_by to flow runs, populate with username of user that submitted
- revert change to message type, purged messages from broadcasts should be flow
- use primary_language field for default language for org
- create purged messages from broadcasts
- update docs, more consistent command line
- turn archiver into service
- deletion_date->deleted_on
- increase timeout for calculation of all run ids in an archive
- add deletion of runs
- add support for multipart uploads and archives > 5 gigs
- add deletion_date field, write upon deletion
- better context management in archival deletion
- bump batch size down to 100
- dont try to build archives that are too big
- allow msgs with null channels, dont archive test contacts
- deletion of messages after archiving
- more logging, add status logging of deletions
- more tests, remove cascades so we test accurately, rollups dont need purging
- correct set of incantations to get UTC dates out of golang/pg
- increase unit test coverage of rollup cases
- create montly archives when doing backfills, add input and value to run outputs
- don't download 0 record archives when building monthlies
- archive flow runs based on modified instead of created
- add tests for flow runs, test file contents as well
- add writing of rollup id to writing of monthlies to db
- add montly rollups based on day archives
- don't serialize urns for anon orgs, fix attachment serialization
- use JSONL - line delimted JSON as archive format
- add request tracing at debug level
- switch to md5 hashes, verify upon upload, better logs
- tweak config var for bucket name
- ignore deleted messages when archiving