Skip to content

Releases: eoyilmaz/stalker

0.2.24.2

02 Jan 07:41
Compare
Choose a tag to compare

This release is mainly related to cleaning up some complains that arose while testing the library.

  • Fix: Fixed two tests which are testing the stalker.db module to check the system against the correct Alembic revision id.

  • Update: Removed the unnecessary pytest.skip commands in the Repository class tests which were shipping the tests if the OS is not Windows. But they should work fine under all OSes.

  • Update: Updated all class documentation and removed the cancellation character (which was apparently not good for PEP8)

  • Fix: Fixed some warnings about some regular expressions.

0.2.24.1

01 Jan 21:17
Compare
Choose a tag to compare
  • Fix: Fixed stalker.db module to check for the correct Alembic revision id.

0.2.24

01 Jan 20:39
Compare
Choose a tag to compare
  • New: Repository instances now have a code attribute which is used for generating the environment variables where in previous versions the id attribute has been used which caused difficulties in transferring the data to a different installation of Stalker. Also to make the system backwards compatible, Stalker will still set the old id based environment variables. But when asked for an environment variable it will return the code based one. The code argument as usual has to be initialized on Repository instance creation. That's why this version is slightly backwards incompatible and needs the database to be updated with Alembic (with the command alembic update head).

  • Fix: Repository methods is_in_repo and find_repo are now case insensitive for Windows paths.

  • Update: Updated Project class documentation and included information about what is going to be deleted or how the delete operation will be cascaded when a Project instance is deleted.

0.2.23

31 Dec 08:51
Compare
Choose a tag to compare
  • Update: Updated the setup.py to require psycopg2-binary instead of psycopg2. Also updated the configuration files for Docker and Travis. This changes the requirement of psycopg2 to psycopg2-binary, which will make it easier to get the installation to complete on e.g. CentOS 7 without requiring pg_config.

0.2.22

16 Aug 05:15
Compare
Choose a tag to compare

Finally a new release. More than one year has passed after the previous one and a new release has born. This release will mainly fix the installation problems with setup_tools. Fix a couple of problems in TaskJugglerScheduler that prevented it run in Python 3.x without any problems and some other small stuff. Bone appetite!

  • Fix: Fixed TaskJugglerScheduler.schedule() method to correctly decode byte data from sys.stderr to string for Python 3.x.

  • Fix: Fixed a couple of tests for TaskJuggler.

  • Update: Updated Classifiers information in setup.py, removed Python versions 2.6, 3.0, 3.1 and 3.2 from supported Python versions.

  • Fix: Removed Python 3.3 from TravisCI build which is not supported by pytest apparently.

  • Update: Updated TravisCI config and removed Python 2.6 and added Python 3.6.

  • Update: Added a test case for an edge usage of FilenameTemplate.

  • Update: Updated .gitignore file to ignore PyTest cache folder.

  • Update: Updated the License file to correctly reflect the project license of LGPLv3.

  • Update: Update copyright information.

  • New: Created make_html.bat for Windows.

  • New: Added support for Python wheel.

0.2.21

30 May 15:02
Compare
Choose a tag to compare

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. 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. For simplicity of first time users the default database is again SQLite3.

  • 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

21 May 09:01
Compare
Choose a tag to compare
  • 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

17 May 13:00
Compare
Choose a tag to compare
  • 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 (use stalker.db.session.DBSession instead).

  • 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

11 Mar 22:59
Compare
Choose a tag to compare
  • 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 change, all of the tests should be inherited from the stalker.tests.UnitTestBase 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

02 Jan 10:13
Compare
Choose a tag to compare

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.