All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
1.6.6 (2018-06-14)
- alerts.models + cyphon.settings.conf: added conditional setting ALERTS.DISABLE_COLLECTION_SEARCH to determine if alert should search backend storage for missing alert data. (09c246b)
1.6.5 (2018-06-11)
- Dockerfile: changed apk packages to download libressl instead of openssl due to multiple packages upgrading from open to libre. (75172dc)
- requirements.txt: removed cryptography from dependencies due to it depending on openssl and since it is not used in the project anymore. (f707446)
1.6.4 (2018-04-03)
- cyphon.settings.conf: added CYCLOPS.API_TIMEOUT to settings file (249c0ef)
- setup.py: fixed failing CI build due to pip 10 update moving all it's internal API to
._internal
(92417d1)
1.6.3 (2018-03-30)
1.6.2 (2018-03-22)
- ambassador.transport: added
Transport.ensure_cargo()
method (a73e0b8)
- aggregator.pumproom.streamcontroller: prevented exceptions from locking Streams PR #457 (0e88556)
- sifter.condensers.tests.pages: fixed broken functional tests for offscreen elements PR #433 (e2cd38b)
- target.locations: removed mixin from
LocationManager
to fix mocking for Sphinx PR #396 (b441361) - tox.ini: added missing Twitter environment variables for tests (c0092f7)
1.6.1 (2018-02-06)
- cyclops.conf: updated Cyclops version to 0.5.4 PR #361 (6536c91)
- utils.dbutils: optimized
count_by_group()
PR #364 (91d1829)
- alerts.views: optimized
AlertViewSet.counts_by_collection()
to prevent timeouts PR #364 (91d1829) - sieves.models: catch exception raised by a numeric comparison of a null value PR #376 (8352bb2)
- alerts: removed
AlertManager.api_queryset()
PR #377 (644c270) - tox.ini: removed py27-docs from tests PR #383 (2d73123)
1.6.0 (2018-01-11)
- distilleries: added
name
property to Distillery model PR #320 (d25c147) - query.search: added before and after filters to search views (c3f3e64)
- query.search: added time filtering to alert results (a993356)
- contexts: changed
ContextManager.get_by_natural_key()
andContextFilterManager.get_by_natural_key()
to useDistillery.name
PR #320 (d25c147) - cyclops.conf: updated Cyclops version to 0.5.2 (cc48152)
- cyphon.tasks: Monitor status is updated through polling (0eff575)
- distilleries: changed
DistilleryManager.get_by_natural_key()
to useDistillery.name
PR #320 (d25c147) - monitors: Monitor status is updated through polling (0eff575)
- query.search: search terms joined with AND instead of OR (09659ee)
- query.search: added alert field filtering PR #338 (a91498e)
- query.search.distillery_filter_parameter: filters by given distillery name instead of the combination warehouse.collection. (5fbb1a8)
- docs: fixed incorrect token request URL in JIRA oauth example PR #315 (7008c64)
- query.search: fixed search parameter for Distillery name with hyphens (d64e38d)
- query.search: fixed IPAddress field searches (44feca7)
- sifter.mailsifter: allow either valid content type or valid file extension for email attachments PR #319 (efef0bc)
- warehouses: added lowercase_validator to
Warehouse.name
for Elasticsearch compatibility (598dd96) - utils.geometry.shapes: fixed handling of hash-based Geo-point datatypes PR #273 (38b6e49)
- utils.geometry.shapes: catch all exceptions in
convert_to_point()
PR #298 (598dd96)
- reciever: removed Monitor queue consumer (0eff575)
1.5.3 (2017-10-13)
- Dockerfile: cached NLTK data in the Docker image PR #247 (9b4cf31)
- monitors: fixed bug in
Monitor._get_inactive_seconds()
for new Monitors PR #256 (1e154a9)
1.5.2 (2017-10-03)
1.5.1 (2017-10-02)
1.5.0 (2017-09-26)
- alerts: added
associated_tags
property to Alerts (dd274ca) - alerts: added
tag_relations
property to Alerts and Comments (ae10cf1) - alerts: added
tags
field toAlertDetailSerializer
based onAlert.associated_tags
property (119bf21) - articles: added Article model PR #196 (1dcf272)
- cyphon.settings: added Elasticsearch index settings (66f9bbb)
- cyphon.settings: added settings for data uploads (9523dfb)
- cyphon.settings: added localization settings (a7adde9)
- cyphon.urls: REST API endpoints for Tags (119bf21)
- distilleries: added
engine
property to Distilleries (6e110e4) - docs: docs for Articles, Tags, Topics, and DataTaggers PR #225 (879af9d)
- engines.elasticsearch: added
ElasticsearchEngine.create_template()
method (66f9bbb) - requirements.txt: django-ckeditor package (de94ecf)
- tags: TagRelation, Topic, and DataTagger models PR #178 (119bf21)
- tags: post-save signals for tagging Alerts and Comments (41e7f87)
- warehouses: post_save signal receiver to create Elasticsearch index templates (35627bc)
- utils.validators:
lowercase_validator()
function (5b0ce6f)
- alerts: refactored
Alert.notes
into new Analysis model PR #202 (fa3077b) - alerts: used
RichTextUploadingField
forComment.notes
(86c1635) - cyphon.settings: removed local static assets options from CYCLOPS settings (d62e95f)
- cyclops: removed local static asset options from the view and replaced it with urls (d62e95f)
- docs: updated configuration docs to reflect the removal of Cyclops static assets (d62e95f)
- docs: moved fixture docs to user manual (c9122c0)
- docs: updated instructions for project configuration (d87111f)
- responder.actions: ordered Actions by title (9298b82)
- alerts: prevented duplicate
muzzle_hash
whenAlert.level
is changed Issue #223 (68a1acc) - contexts: prevented server error if Context query can't be completed PR #224 (9209dd6)
- engines.elasticsearch: prevented error from unmatched quote in query string PR #209 (ed94ac0)
- engines.elasticsearch: avoided mapping conflicts in Kibana by creating index templates PR #213 (61b111c)
- sifter.sieves: prevented endless recursion in Sieves PR #208 (5f3fec0)
- alerts.models: removed
Alert.tags
field (119bf21) - cyphon.settings: removed CORS settings (3dea449)
- requirements.txt: removed django-cors-headers (3dea449)
1.4.2 (2017-08-21)
- engines.elasticsearch: fixed default value for Elasticsearch timeout (22cd0b5)
1.4.1 (2017-08-14)
1.4.0 (2017-08-14)
- alerts:
Alert.muzzle_hash
field PR #130 (efaa627) - alerts: email notifications for Alert comments PR #139 (bd968c1)
- cyphon.choices: range choices (1c414aa)
- cyphon.version: added Cyphon version to headers (40c123f, 08ff612)
- docs: search query docs (bfe06fd)
- docs: Alert bulk admin docs (3d963b1)
- docs: secrets management (7cdddc2, 4a110fc)
- query.search: search query classes (76dac5d)
- query.search: search endpoint PR #136 (56bd2ce)
- requirements.txt: boto3, django-s3-storage, and ec2-metadata packages PR #134 (62751ee)
- sifter.sieves: numeric rules PR #129 (0fba6f4)
- utils.parserutils:
merge_dict()
andabridge_dict()
functions (44e9fcd) - utils.settings: default configuration and pull secrets from SSM (7796fc9)
- alerts: only fields defined in Container are shown in Alert data PR #127 (cdd0c68)
- alerts: doc_id field included in serialized Alert detail PR #145 (c62dca4)
- cyphon.settings, engines.elasticsearch: support more Elasticsearch configuration options PR #170 (91312dc, 51a2a68)
- watchdogs: removed Alert table locking PR #130 (efaa627)
- cyphon.settings: corrected
backupCount
setting for logging handlers (e150db1)
- docs: removed Docker instructions (87012e2)
1.3.0 (2017-06-28)
- Tox configuration - PR #92 (1299f58)
- docs: added screenshots to overview (f807d4a)
- docs: added FAQs page (7488729)
- docs: added support page (f022900)
- docs: added testing page to dev guide (a9e6a4e)
- docs: added Twitter tutorial - PR #113 (56e7e74)
- lab.sentiment: added sentiment analysis - PR #108 (859f9b7)
- upgraded to Django 1.11 - PR #101 (d4cd82b)
- alerts: Alerts can be filtered by Warehouse (19c37e9)
- ambassador.platforms: Platforms are ordered by name (0381433)
- bottler.tastes: Tastes are ordered by container (972a35c)
- contexts: Contexts are ordered by name (174eb81)
- parsers: Parsers are ordered by name (4daf0fa)
- sifter.condensers: Condensers are ordered by name (4daf0fa)
- Dockerfile: fixed issue with proj4 library - PR #106 (900760d)
- docs: mocked out GDAL in Sphinx build - PR #107 (d1ab82e)
- sifter.chutes: added Chute ID to admin list display (2abb5f0)
- tests: fixed URL for SauceLabs - PR #112 (a2feddd)
- docs: removed list of dependencies (b2678bb)
- docs: removed testing env from starter-docker.txt (cf766b8)
1.2.0 (2017-06-05)
- cyclops: added built-in Cyclops integration (d4baf47, 2f7f574)
- cyphon.dashboard: added Categories to admin dashboard (dbfb658)
- cyphon.dashboard: added "Latest Cyphon News" to admin dashboard (910f2fd)
- cyphon.settings: added settings for Cyclops integration (d4baf47, 2f7f574)
- docs: added docs for push notifications (1c98e3b)
- docs: added docs for configuring Cyclops (1c98e3b)
- Dockerfile: Docker image is now based on Alpine Linux (517af76)
- alarms, monitors, watchdogs: Monitors and Watchdogs are now sorted by name (0c98fc9)
- sifter: all Rules and SieveNodes are now sorted by name (b9128f3)
- ambassador.passports: fixed storage directory for Passport file field (e97fd33)
1.1.3 (2017-05-27)
- categories: added REST API endpoint for Categories (360dc56)
- docs: added email tutorial (d8fd982)
- docs: added Logstash tutorial (69769f9, 1c56516)
- docs: added minimum system requirements (d00b95)
- .gitignore: fixed directory for Cyphon settings (e863c4a)
- bottler.bottles: fixed bug with EmbeddedDocumentFields (6fd70f5)
- docs: updated instructions for Elasticsearch data directory (03c3446)
1.1.2 (2017-05-16)
- sifter.mungers: modified
Munger.process()
to avoid errors when processing mail (84f8871)
1.1.1 (2017-05-16)
- alerts: modified
Alert.save()
so thatlocation
andcontent_date
are added the Alert to even if the Alert already hasdata
, and atitle
with a default value is refreshed (a37d9eb) - alerts:
Alert.saved_data
is no longer cached (9fdba5d) - engines.elasticsearch.engine: Elasticsearch indexes are refreshed prior to searching by id (65d72e2)
- watchdogs: Watchdogs pass data directly to Muzzles instead of fetching saved data, avoiding race condition in Logstash (7c5a53d)
1.1.0 (2017-05-14)
- cyphon.documents: added
DocumentOj
class for handling document references (d701762) - receiver.receiver: added RabbitMQ queue consumers for DataChutes, Watchdogs, and Monitors (d701762)
- target.followees: added
get_by_natural_key()
method for Followees, Accounts, LegalNames, and Aliases (0f8f3b8) - target.locations: added
get_by_natural_key()
method for Locations (2b5199d) - target.searchterms: added
get_by_natural_key()
method for SearchTerms (813c1ca)
- sifter.condensers: removed extra inline Fitting form (10f53ce)
- sifter.logsifter: fixed "Test this rule" tool on LogRule admin page (751d55b)
1.0.3 (2017-05-14)
- bottler: added
get_by_natural_key()
method for BottleFields and LabelFields (68c2a15) - contexts: added
get_by_natural_key()
method for Contexts and ContextFields (09ff0b8) - cyphon.dashboard: added Protocols and Constance to admin dashboard (ee34361, 0cbbb15)
- entrypoints: added conditional for loading example fixtures (a0efa1f)
- watchdogs: added
get_by_natural_key()
method for Triggers (8312713)
- cyphon.tests.functional_tests: enabled functional tests to run in a Selenium 3 Docker container (fe170cc)
- docs: replaced install instructions for Docker Engine with those for Docker Community Edition (4aa080c)
- responder.actions.filters: fixed ActionFilterBackend to allow access to Actions associated with public Passports (952464b)
- fixtures: removed default fixtures, since these are provided in Cyphondock (ba25363)
- entrypoints: Celery beat and worker are now run without superuser privileges (8f18b42)
1.0.2 (2017-04-07)
- docs: added CHANGELOG (baf76ae)
- docs: changed AUTHORS to markdown (beb0d87)
- contexts: fixed issue with ContextFilters handling nested fields (ac58553)
- cyphon.settings: applied fix for django-filter issue #562 (7f09009)
- engine.mongodb.engine: fixed issue with MongoDB queries (ea1b043)
- watchdogs: fixed issue with Muzzles handling nested fields (fe30e75)
1.0.1 (2017-04-05)
- docs: added disclaimer to securing-cyphon.txt (39e2d65, 4cdc5e2, c811257, b1722c3)
- docs: updated favicon (14ab3ff)
- docs: deleted obsolete appuser docs (ea3e5f3)
- query.reservoirqueries.reservoirqueries: fixed bug affecting Followee-based Filters (b6a8fd9)