Stalker

Latest version: v0.2.28

Safety actively analyzes 638466 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 21

0.2.21

======

* **New:** Switched from ``nose`` + ``unittest`` to ``pytest`` as the main
testing framework (with ``pytest-xdist`` tests complete 4x faster).

* **New:** Added ``DBSession.save()`` shortcut method for convenience which
does an ``add`` or ``add_all`` (depending to the input) followed by a
``commit`` at once.

* **Update:** Updated the about page for a more appealing introduction to the
library.

* **New:** Stalker now creates default ``StatusList`` for ``Project`` instances
on database initialization.

* **Update:** SQLite3 support is back. In fact it was newer gone. For
simplicity of first time users the default database is again SQLite3. It was
dropped for the sake of adding more PostgreSQL oriented features. But then it
is recognized that the system can handle both. Though a two new Variant had
to be created for JSON and Datetime columns.

* **Update:** With the reintroduction of SQLite3, the new JSON type column in
``WorkingHours`` class has been upgraded to support SQLite3. So with SQLite3
the column stores the data as TEXT but seamlessly convert them to JSON when
ORM loads or commits the data.

* **New:** Added ``ConfigBase`` as a base class for ``Config`` to let it be
used in other config classes.

* **Fix:** Fixed ``testing.create_db()`` and ``testing.drop_db()`` to fallback
to ``subprocess.check_call`` method for Python 2.6.

* **Fix:** Fixed ``stalker.models.auth.User._validate_password()`` method to
work with Python 2.6.

* **Update:** Updated all of the tests to use ``pytest`` style assertions to
support Python 2.6 along with 2.7 and 3.0+.

* **Fix:** Fixed ``stalker.db.check_alembic_version()`` function to invalidate
the connection, so it is not possible to continue with the current session,
preventing users to ignore the raised ``ValueError`` when the
``alembic_version`` of the database is not matching the ``alembic_version``
of Stalker's current version.

0.2.20

======

* **New:** Added ``goods`` attribute to the ``Client`` class. To allow special
priced ``Goods`` to be created for individual clients.

* **Fix:** The ``WorkingHours`` class is now derived from ``Entity`` thus it is
not stored in a ``PickleType`` column in ``Studio`` anymore. (issue: 44)

* **Update:** Updated ``appveyor.yml`` to match ``travis.yml``.

0.2.19

======

* **Update:** Updated the ``stalker.config.Config.database_engine_settings`` to
point the test database.

* **Fix:** Fixed a bug in ``stalker.testing.UnitTestDBBase.setUp()`` where it
was not considering the existence of the ``STALKER_PATH`` environment
variable while doing the tests.

* **Update:** Removed debug message from ``db.setup()`` which was revealing the
database password.

* **Update:** Updated the ``UnitTestDBBase``, it now creates its own test
database, which allows all the tests to run in an individual database. Thus,
the tests can now be run in ``multiprocess`` mode which speeds things a lot.

* **Fix:** Removed any module level imports of ``stalker.defaults`` variable,
which can be changed by a Studio (or by tests) and should always be
refreshed.

* **Update:** Removed the module level import of the
``stalker.db.session.DBSession`` in ``stalker.db``, so it is not possible to
use ``db.DBSession`` anymore.

* **Update:** The import statements that imports ``stalker.defaults`` moved to
local scopes to allow runtime changes to the ``defaults`` to be reflected
correctly.

* **Update:** Added Python fall back mode to
``stalker.shot.Shot._check_code_availability()`` which runs when there is no
database.

* **Update:** ``stalker.models.task.TimeLog._validate_task()`` is now getting
the ``Status`` instances from the ``StatusList`` that is attached to the
``Task`` instance instead of doing a database query.

* **Update:** ``stalker.models.task.TimeLog._validate_resource()`` is now
falling back to a Python implementation if there is no database connection.

* **Update:** ``stalker.models.task.Task._total_logged_seconds_getter()`` is
now hundreds of times faster when there is a lot of ``TimeLog`` instances
attached to the ``Task``.

* **Update:** In ``stalker.models.task.Task`` class, methods those were doing a
database query to get the required ``Status`` instances are now using the
attached ``StatusList`` instance to get them.

* **Fix:** A possible ``auto_flush`` is prevented in ``Ticket`` class.

* **Update:** ``Version.latest_version`` property is now able to fall back to a
pure Python implementation when there is no database connection.

* **Update:** The default log level has been increased from ``DEBUG`` to
``INFO``.

* **Update:** In an attempt to speed up tests, a lot of tests that doesn't need
an active Database has been updated to use the regular ``unittest.TestCase``
instead of ``stalker.testing.TestBase`` and as a result running all of the
tests are now 2x faster.

* **Fix:** ``TimeLogs`` are now correctly reflected in UTC in a tj3 file.

* **Fix:** Fixed a lot of tests which were raising Warnings and surprisingly
considered as Errors in TravisCI.

* **Fix:** ``to_tjp`` methods of SOM classes that is printing a Datetime object
are now printing the dates in UTC.

* **Fix:** Fixed ``stalker.models.auth.Permission`` to be hashable for Python
3.

* **Fix:** Fixed ``stalker.models.auth.AuthenticationLog`` to be sortable for
Python 3.

* **Fix:** Fixed ``stalker.models.version.Version.latest_version`` property for
Python 3.

* **Fix:** Fixed tests of ``Permission`` class to check for correct exception
messages in Python 3.

* **Update:** Replaced the ``assertEquals`` and ``assertNotEquals`` calls which
are deprecated in Python 3 with ``assertEqual`` and ``assertNotEquals`` calls
respectively.

* **Fix:** Fixed tests for ``User`` and ``Version`` classes to not to cause the
``id column is None`` warnings of SQLAlchemy to be emitted.

0.2.18

======

* **Update:** Support for DB backends other than Postgresql has been dropped.
This is done to greatly benefit from a code that is highly optimized only
for one DB backend. With This all of the tests should be inherited from the
``stalker.tests.UnitTestDBBase`` class.

* **New:** All the DateTime fields in Stalker are now TimeZone aware and
Stalker stores the DateTime values in UTC. Naive datetime values are not
supported anymore. You should use a library like ``pytz`` to supply timezone
information as shown below::

import datetime
import pytz
from stalker import db, SimpleEntity
new_simple_entity = SimpleEntity(
name='New Simple Entity',
date_created = datetime.datetime.now(tzinfo=pytz.utc)
)

* **Fix:** The default values for ``date_created`` and ``date_updated`` has now
been properly set to a partial function that returns the current time.

* **Fix:** Previously it was possible to enter two TimeLogs for the same
resource in the same datetime range by committing the data from two different
sessions simultaneously. Thus the database was not aware that it should
prevent that. Now with the new PostgreSQL only implementation and the
``ExcludeConstraint`` of PostgreSQL an ``IntegrityError`` is raised by the
database backend when something like that happens.

* **Update:** All the tests those are checking the system against an Exception
is being raised or not are now checking also the exception message.

* **Update:** In the ``TimeLog`` class, the raised ``OverBookedException``
message has now been made clear by adding the start and end date values of
the clashing TimeLog instance.

* **Update:** Removed the unnecessary ``computed_start`` and ``computed_end``
columns from ``Task`` class, which are already defined in the
``DateRangeMixin`` which is a super for the Task class.

0.2.17.6

========

* **Fix:** Fixed a bug in ``ProjectMixin`` where a proper cascade was not
defined and the ``Delete`` operations to the ``Projects`` table were not
cascaded to the mixed-in classes properly.

0.2.17.5

========

* **Fix:** Fixed the ``image_format`` attribute implementation in ``Shot``
class. Now it will not copy the value of ``Project.image_format`` directly on
``__init__`` but instead will only store the value if the ``image_format``
argument in ``__init__`` or ``Shot.image_format`` attribute is set to
something.

Page 3 of 21

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.