Skip to content

Releases: Blair2004/NexoPOS

NexoPOS 5.2.6

13 Aug 23:01
832fb1f
Compare
Choose a tag to compare

We're publishing this update as one of the last update of the branch version v5.2.x. The upcoming version v5.3.x will ship an major accounting upgrade. We've revamped the UI and the accounting principle to ensure it gives accurate figures, allowing owner to have a better understanding of their business.

Meanwhile, this update comes with few fixes that makes premium modules compatible with the v5.x branch. We're targetting here:

Changelog:

  • Added: new hook action
  • Updated: better fields support on order settings
  • Fixed: old uncleaned invoice template
  • Added: new js action hook "ns-after-load-order"
  • Added: permission is not needed to convert product
  • Fixed: accuracy on math calculation
  • Fixed: backspace has a correct behavior on the payment popup
  • Fixed: first slice layaway amount.
  • Updated: added a proper way to restrict order deletion on CRUD
  • Updated: while loading taxes, we've turned the default "id" to "tax_id" as "id" is reserved for order taxes id.
  • WIP: tax history should record every transaction including new payment
  • Added: Hook filter to allow to customize payment types that trigger a register history.
  • Fixed: Ensure while reverb is disabled it doesn't trigger any JS error
  • Fixed: discount issue on cart applied to each product
  • WIP: test case for register history
  • Removed: deprecated snippet
  • Fix #1976: Incorrect URL for creating coupons
  • Added: Support for props on AsyncComponent loaded on Popup (vue3)
  • Removed: redundant options for Tax group selection
  • Refactoring: RegisterHistory constants
  • Added: new CashRegisterHIstoryBeforeDeletedEvent
  • Refactoring: CashRegisterCashingFields and CashRegisterCashoutFields
  • Added: support for account id on cashing and cashout, methods of CashRegisterService
  • Deprecating: some classes and methods
  • WIP: how cash register history is created/updated
  • Added: new relation (order) to RegisterHistory
  • Added: new account on demo
  • Fixed: nexopos_payments_types to be truncated during the reset action
  • Added: new accounting settings
  • Fixed: route binding for accounting accuont modification
  • Added: selecting transaction account on cash register action

We're also thankful for the recent contributions we got from:

NexoPOS 5.2.5

13 Jun 09:56
a141d9f
Compare
Choose a tag to compare

After a long period, we're releasing this minor update of NexoPOS which comes with bunch of fixes and small changes.
One of the major addition here is that we moved to Laravel 11, so you can expect all new features to be compatible with NexoPOS (Laravel Reverb on the way).

Changelog:

  • Updated: Move from "getRaw()" to "toFloat()" for currency calculations
  • Updated: timezone is not globally set to ensure model timestamps uses the correct date
  • Fixed: Test failing because of the use of "randomNumber(1)" causing usage of "0" as quantity
  • Update: changing the use of getRaw to toFloat on the currency class
  • Added: Hook to be a global Facade
  • Fixed: Disable create orders from customer orders
  • Added: hook facade
  • Fixed: toJsOptions mistake
  • Added: use Hook classes on blades
  • Updated: restrict middleware to use the class instead of an alias
  • Refactoring: skeleton to match Laravel 11 skeleton
  • Restored Vue
  • Fix: Update nSelectPopupVue implementation.
  • Fix: Restrict value field to support number only

NexoPOS 5.2.4

03 May 18:52
Compare
Choose a tag to compare

We're releasing a minor update of NexoPOS that comes with a bunch fixes. You might have noticed that during the previous week, we've released beta version, this was for testing our SaaS module, to make sure users can access the dashboard securely with no need of password.

Additionally, we had @dimaswildanR3 who has posted his first issue regarding an error that occurs when we search for products. Here is the full breakdown of what happened during this update.

Changelog:

  • Fixed: disable search for empty string #1876
  • Fixed: double transaction while updating orders
  • Fixed: replacing Auth:id() with order->author on jobs
  • Removed: deprecated code
  • Updated: the cash register history, to display cash on hand.
  • Updated: hold order aren't deleted by default
  • Updated: day income no longer deduct expenses
  • Updated: Make sure testing api routes doesn't mistakenly test other routes havin "api/" on it
  • Fixed: double transaction while updating orders
  • Fixed: replacing Auth:id() with order->author on jobs
  • Removed: deprecated code
  • Added: properties to middleware events
  • Fixed: autoloaded localization wasn't loaded
  • Fixed: crud.blade.php for generating crud classes
  • Update: ensure autoloaded modules has their routes loaded

Full Changelog

Full Changelog: v5.2.3...v5.2.4

NexoPOS 5.0.0 (Beta 3)

23 Apr 11:27
Compare
Choose a tag to compare
Pre-release

Full Changelog: v5.2.3...v5.2.4-b3

NexoPOS 5.2.4 (Beta 2)

22 Apr 09:13
Compare
Choose a tag to compare
Pre-release

Full Changelog: v5.2.3...v5.2.4-b2

NexoPOS 5.2.4 (Beta 1)

21 Apr 20:46
Compare
Choose a tag to compare
Pre-release

Full Changelog: v5.2.3...v5.2.4-b1

NexoPOS 5.2.3

21 Apr 13:58
382d971
Compare
Choose a tag to compare

This update was mainly made to update NexoPOS libraries and to add new feature that is a must of the SaaS module we're building around NexoPOS.

Autoload Module

Now, you can set the module that will always been activated regardless of whether they have been activated or not from the dashboard. While we know this might have serious security consideration, we believe having such module can for example prevent unaware users to mistakenly disable, delete or download a system module that can be created by a developer.

For hacker, it might be an opportunity to install module that the end user cannot control from the dashboard. We however believe, anyone having access to the .env file to edit it for enabling a compromised module, can yet perform more worst operation. Therefore, the security should the be considered on the file access end first.

How It works

You just have to set on the .env file a variable "AUTOLOAD_MODULES" that access modules namespaces separated by a comma.

image

Not all module are likely to be autoloaded. For security, stability purpose, we only restricted this feature to module not having any dependency. This will prevent situation like an autoloaded module depends on a not autoloaded module. If that not autoloaded module is removed for some reason, the app will crash.

Changelog:

  • Added: Autoload for Module
  • Updated: dependencies

NexoPOS v5.2.2

18 Apr 15:10
Compare
Choose a tag to compare

We're releasing a new update of NexoPOS that brings bug fixes and refactoring. Indeed, we're trying to make NexoPOS easier to use for developper by implementing new ways of interacting with it's internal API. We've also did some change to the core to ensure your so loved Multistore Module is compatible.

Multistore Update

We've been working on making the multistore compatible with NexoPOS 5x. The main issue we've encountered is that since the version 5x, customers are now regular users. This makes customers no longer a not shared resources, but a resource used across the entire the multistores. We've however make store who creates a customer has a full control over him. More accurately, Store A can't see and edit customers of Store B.

Changelog:

  • Update: CustomerCrud should only show customers
  • Updated: prevent convert_unit and unit_id to be equal
  • Added: description preview for cash register transaction
  • Added: delete transaction history along with transaction
  • Added: Refactoring multiple crud classes
  • Added: support for scheduling on entity transactions.
  • Updated: to create customer on POS, a permission is now required. The option for allowing customer creating has been removed
  • Added: transaction history now supports new fields (type, trigger_date, status)
  • Refactoring: CustomerCrud
  • Updated: detach permission while deleting a role.
  • Added: new events CrudHookEvent CustomerModelBootedEvent
  • Added: new fillable fields
  • Added: custom name to cloned roles.
  • Fixed: close bug on Popup
  • Fixed: some reports figures
  • Added: cast on transaction history crud
  • Update: ensure serialization of model on OrderAfterCreatedEvent
  • Added: date support on computeCombinedReport
  • Update: ensure combined report is computed everytime it's needed
  • Update: renaming ProcessAccountingRecordFromSale to ProcessAccountingRecordFromSaleJob
  • Fixed: COGS not computed on Sale report
  • Added: new figures on the sale report
  • Updated: ensure compatibility with multistore.
  • Refactored: Crud files
  • Updated: Prevent same unit and conversion unit to be assigned #1846
  • Updated: CrudInput & CrudTable
  • Fixed: password update issue
  • Refactoring; Settings files
  • Added: support for optionAttributes
  • Added: support for custom column width
  • Fixed: missing value support on CrudInput
  • Update: crud template for generation
  • Added: active scope to user model
  • Added: new classes for easing API usage

Full Changelog

Full Changelog: v5.2.0...vv5.2.2

NexoPOS 5.2.1

27 Mar 13:43
92ba449
Compare
Choose a tag to compare
NexoPOS 5.2.1 Pre-release
Pre-release

This is a small bug fix update that changes how NexoPOS loads assets for modules using modern versions of Vite.

Changelog:

  • Updated: changes way NexoPOS loads assets for module.

NexoPOS v5.2.0

27 Mar 12:10
7de7ed9
Compare
Choose a tag to compare

We're releasing a new update of NexoPOS that comes with small improvements in terms of developer experience, bug fixes and other UX improvements. As the main update here, we've moved from Laravel 10 to Laravel 11. we aim in the long run to use the new Laravel Reverb, for a better lightweight notification.

Stop Propagating Close Event

When multiple popups opened, all were closed when pressing "ESC". Sometimes, even the popup we wanted to keep visible was closed. We've added a new way of handling popups. Now, NexoPOS considers the popup visible as "focused" and other popups and not focused so all keyboard events are directed to the focused popup.

Attribute Supports on Crud Column

If for a crud component, we decide to use all columns, our table will look long and hard to explore. We added an attribute feature to display some columns as a small description of other columns. Here is what it looks like:

image

On the code, here is how it's defined:

image

Other Changes: